ws-bom-robot-app 0.0.43__tar.gz → 0.0.45__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.
Files changed (74) hide show
  1. {ws_bom_robot_app-0.0.43/ws_bom_robot_app.egg-info → ws_bom_robot_app-0.0.45}/PKG-INFO +1 -1
  2. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/setup.py +1 -1
  3. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/agent_description.py +1 -1
  4. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/agent_handler.py +2 -2
  5. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/api.py +6 -4
  6. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/providers/llm_manager.py +5 -4
  7. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45/ws_bom_robot_app.egg-info}/PKG-INFO +1 -1
  8. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/MANIFEST.in +0 -0
  9. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/README.md +0 -0
  10. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/pyproject.toml +0 -0
  11. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/requirements.txt +0 -0
  12. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/setup.cfg +0 -0
  13. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/__init__.py +0 -0
  14. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/auth.py +0 -0
  15. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/config.py +0 -0
  16. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/cron_manager.py +0 -0
  17. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/__init__.py +0 -0
  18. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/agent_lcel.py +0 -0
  19. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/defaut_prompt.py +0 -0
  20. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/main.py +0 -0
  21. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/models/__init__.py +0 -0
  22. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/models/api.py +0 -0
  23. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/models/base.py +0 -0
  24. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/models/kb.py +0 -0
  25. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/providers/__init__.py +0 -0
  26. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/settings.py +0 -0
  27. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/tools/__init__.py +0 -0
  28. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/tools/models/__init__.py +0 -0
  29. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/tools/models/main.py +0 -0
  30. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/tools/tool_builder.py +0 -0
  31. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/tools/tool_manager.py +0 -0
  32. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/tools/utils.py +0 -0
  33. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/utils/__init__.py +0 -0
  34. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/utils/agent.py +0 -0
  35. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/utils/chunker.py +0 -0
  36. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/utils/download.py +0 -0
  37. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/utils/kb.py +0 -0
  38. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/utils/print.py +0 -0
  39. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/utils/secrets.py +0 -0
  40. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/utils/webhooks.py +0 -0
  41. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/__init__.py +0 -0
  42. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/db/__init__.py +0 -0
  43. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/db/base.py +0 -0
  44. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/db/chroma.py +0 -0
  45. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/db/faiss.py +0 -0
  46. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/db/manager.py +0 -0
  47. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/db/qdrant.py +0 -0
  48. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/generator.py +0 -0
  49. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/integration/__init__.py +0 -0
  50. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/integration/azure.py +0 -0
  51. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/integration/base.py +0 -0
  52. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/integration/confluence.py +0 -0
  53. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/integration/dropbox.py +0 -0
  54. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/integration/gcs.py +0 -0
  55. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/integration/github.py +0 -0
  56. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/integration/googledrive.py +0 -0
  57. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/integration/jira.py +0 -0
  58. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/integration/manager.py +0 -0
  59. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/integration/s3.py +0 -0
  60. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/integration/sftp.py +0 -0
  61. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/integration/sharepoint.py +0 -0
  62. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/integration/sitemap.py +0 -0
  63. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/integration/slack.py +0 -0
  64. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/loader/__init__.py +0 -0
  65. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/loader/base.py +0 -0
  66. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/loader/docling.py +0 -0
  67. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/llm/vector_store/loader/json_loader.py +0 -0
  68. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/main.py +0 -0
  69. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/task_manager.py +0 -0
  70. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app/util.py +0 -0
  71. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app.egg-info/SOURCES.txt +0 -0
  72. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app.egg-info/dependency_links.txt +0 -0
  73. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app.egg-info/requires.txt +0 -0
  74. {ws_bom_robot_app-0.0.43 → ws_bom_robot_app-0.0.45}/ws_bom_robot_app.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ws_bom_robot_app
3
- Version: 0.0.43
3
+ Version: 0.0.45
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
@@ -4,7 +4,7 @@ _requirements = [line.split('#')[0].strip() for line in open("requirements.txt")
4
4
 
5
5
  setup(
6
6
  name="ws_bom_robot_app",
7
- version="0.0.43",
7
+ version="0.0.45",
8
8
  description="A FastAPI application serving ws bom/robot/llm platform ai.",
9
9
  long_description=open("README.md", encoding='utf-8').read(),
10
10
  long_description_content_type="text/markdown",
@@ -88,7 +88,7 @@ class AgentDescriptor:
88
88
 
89
89
  def __init__(self, llm: LlmInterface, prompt: str, mode: str, rules: LlmRules = None):
90
90
  self.__prompt = prompt
91
- self.__llm = llm,
91
+ self.__llm = llm
92
92
  self.rules= rules
93
93
  self.strategy = self.get_strategy(mode) # Selects the strategy from the dictionary
94
94
 
@@ -64,7 +64,7 @@ class AgentHandler(AsyncCallbackHandler):
64
64
  if token:
65
65
  token = _parse_token(self.llm,token)
66
66
  if token:
67
- self.stream_buffer += token.replace('\n','') # append new data to pending buffer
67
+ self.stream_buffer += token # append new data to pending buffer
68
68
  if not self.in_json_block:
69
69
  # search for the start of a json block.
70
70
  start_match = self.json_start_regex.search(self.stream_buffer)
@@ -90,7 +90,7 @@ class AgentHandler(AsyncCallbackHandler):
90
90
  self.stream_buffer = self.stream_buffer[-3:]
91
91
  else:
92
92
  # in json block: look for an end fence.
93
- end_match = self.json_end_regex.search(self.stream_buffer,endpos=3)
93
+ end_match = self.json_end_regex.search(self.stream_buffer)
94
94
  if end_match:
95
95
  end_index = end_match.start()
96
96
  self.json_buffer += self.stream_buffer[:end_index]
@@ -1,4 +1,4 @@
1
- from typing import Annotated, Any
1
+ from typing import Annotated, Any, Mapping
2
2
  from fastapi import APIRouter, HTTPException, Request, Header
3
3
  from fastapi.responses import StreamingResponse
4
4
  from ws_bom_robot_app.llm.agent_description import AgentDescriptor
@@ -9,7 +9,7 @@ from ws_bom_robot_app.llm.vector_store.generator import kb, rules, kb_stream_fil
9
9
  from ws_bom_robot_app.llm.tools.tool_manager import ToolManager
10
10
  from ws_bom_robot_app.llm.vector_store.integration.manager import IntegrationManager
11
11
  from ws_bom_robot_app.task_manager import task_manager, TaskHeader
12
-
12
+ from uuid import uuid4
13
13
  router = APIRouter(prefix="/api/llm", tags=["llm"])
14
14
 
15
15
  @router.get("/")
@@ -20,13 +20,15 @@ async def root():
20
20
  async def _invoke(rq: InvokeRequest):
21
21
  return await invoke(rq)
22
22
 
23
+ def _stream_headers(rq: StreamRequest) -> Mapping[str, str]:
24
+ return {"X-thread-id": rq.thread_id or str(uuid4())}
23
25
  @router.post("/stream")
24
26
  async def _stream(rq: StreamRequest, ctx: Request) -> StreamingResponse:
25
- return StreamingResponse(stream(rq, ctx), media_type="application/json")
27
+ return StreamingResponse(stream(rq, ctx), media_type="application/json", headers=_stream_headers(rq))
26
28
 
27
29
  @router.post("/stream/raw")
28
30
  async def _stream_raw(rq: StreamRequest, ctx: Request) -> StreamingResponse:
29
- return StreamingResponse(stream(rq, ctx, formatted=False), media_type="application/json")
31
+ return StreamingResponse(stream(rq, ctx, formatted=False), media_type="application/json", headers=_stream_headers(rq))
30
32
 
31
33
  @router.post("/kb")
32
34
  async def _kb(rq: KbRequest) -> VectorDbResponse:
@@ -71,10 +71,11 @@ class DeepSeek(LlmInterface):
71
71
  )
72
72
 
73
73
  def get_models(self):
74
- return [
75
- {"id":"deepseek-chat"},
76
- {"id":"deepseek-reasoner"}
77
- ]
74
+ import openai
75
+ openai.api_key = self.config.api_key or os.getenv("DEEPSEEK_API_KEY")
76
+ openai.base_url = "https://api.deepseek.com"
77
+ response = openai.models.list()
78
+ return response.data
78
79
 
79
80
  class Google(LlmInterface):
80
81
  def get_llm(self):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ws_bom_robot_app
3
- Version: 0.0.43
3
+ Version: 0.0.45
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