ai-microcore 4.2.2__tar.gz → 4.2.3__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 (44) hide show
  1. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/PKG-INFO +1 -1
  2. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/__init__.py +1 -1
  3. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/mcp.py +18 -10
  4. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/LICENSE +0 -0
  5. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/README.md +0 -0
  6. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/_env.py +0 -0
  7. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/_llm_functions.py +0 -0
  8. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/_prepare_llm_args.py +0 -0
  9. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/ai_func/__init__.py +0 -0
  10. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/ai_func/ai-func.json.j2 +0 -0
  11. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/ai_func/ai-func.pythonic.j2 +0 -0
  12. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/ai_modules.py +0 -0
  13. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/configuration.py +0 -0
  14. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/embedding_db/__init__.py +0 -0
  15. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/embedding_db/chromadb.py +0 -0
  16. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/embedding_db/qdrant.py +0 -0
  17. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/file_storage.py +0 -0
  18. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/interactive_setup.py +0 -0
  19. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/json_parsing.py +0 -0
  20. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/llm/__init__.py +0 -0
  21. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/llm/_openai_llm_v0.py +0 -0
  22. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/llm/_openai_llm_v1.py +0 -0
  23. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/llm/anthropic.py +0 -0
  24. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/llm/google_genai.py +0 -0
  25. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/llm/google_vertex_ai.py +0 -0
  26. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/llm/local_llm.py +0 -0
  27. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/llm/local_transformers.py +0 -0
  28. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/llm/openai_llm.py +0 -0
  29. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/llm/shared.py +0 -0
  30. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/logging.py +0 -0
  31. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/message_types.py +0 -0
  32. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/metrics.py +0 -0
  33. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/python.py +0 -0
  34. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/templating/__init__.py +0 -0
  35. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/templating/jinja2.py +0 -0
  36. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/text2speech/elevenlabs.py +0 -0
  37. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/tokenizing.py +0 -0
  38. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/types.py +0 -0
  39. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/ui.py +0 -0
  40. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/utils.py +0 -0
  41. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/wrappers/__init__.py +0 -0
  42. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/wrappers/llm_response_wrapper.py +0 -0
  43. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/microcore/wrappers/prompt_wrapper.py +0 -0
  44. {ai_microcore-4.2.2 → ai_microcore-4.2.3}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ai-microcore
3
- Version: 4.2.2
3
+ Version: 4.2.3
4
4
  Summary: # Minimalistic Foundation for AI Applications
5
5
  Keywords: llm,large language models,ai,similarity search,ai search,gpt,openai,framework,adapter
6
6
  Author-email: Vitalii Stepanenko <mail@vitaliy.in>
@@ -186,4 +186,4 @@ __all__ = [
186
186
  # "wrappers",
187
187
  ]
188
188
 
189
- __version__ = "4.2.2"
189
+ __version__ = "4.2.3"
@@ -25,12 +25,24 @@ class WrongMcpUsage(BadAIAnswer):
25
25
 
26
26
 
27
27
  class HeaderAuth(httpx.Auth):
28
- def __init__(self, header_name, header_value):
29
- self.header_name = header_name
30
- self.header_value = header_value
28
+ def __init__(self, header_name_or_dict: str | dict, header_value: str | None = None):
29
+ if isinstance(header_name_or_dict, dict):
30
+ if header_value is not None:
31
+ raise ValueError(
32
+ "HeaderAuth: If a dictionary is provided in first argument, "
33
+ "header_value should not be set."
34
+ )
35
+ self.headers = header_name_or_dict
36
+ else:
37
+ if header_value is None:
38
+ raise ValueError(
39
+ "HeaderAuth: header_value must be provided when header_name is a string"
40
+ )
41
+ self.headers = {str(header_name_or_dict): str(header_value)}
31
42
 
32
43
  def auth_flow(self, request):
33
- request.headers[self.header_name] = self.header_value
44
+ for k, v in self.headers.items():
45
+ request.headers[k] = v
34
46
  yield request
35
47
 
36
48
 
@@ -293,12 +305,8 @@ class MCPServer:
293
305
  self.name = MCPServer.name_from_url(self.url)
294
306
  if not self.transport:
295
307
  self.transport = self._guess_transport_type_by_url(self.url)
296
- if self.auth and isinstance(self.auth, dict) and len(self.auth) == 1:
297
- header_name, header_value = next(iter(self.auth.items()))
298
- self.auth = HeaderAuth(
299
- header_name=header_name,
300
- header_value=header_value
301
- )
308
+ if self.auth and isinstance(self.auth, dict):
309
+ self.auth = HeaderAuth(self.auth)
302
310
 
303
311
  async def connect(
304
312
  self,
File without changes
File without changes