mojentic 0.5.1__tar.gz → 0.5.2__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 (103) hide show
  1. {mojentic-0.5.1/src/mojentic.egg-info → mojentic-0.5.2}/PKG-INFO +1 -1
  2. {mojentic-0.5.1 → mojentic-0.5.2}/pyproject.toml +1 -1
  3. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/message_composers.py +15 -4
  4. {mojentic-0.5.1 → mojentic-0.5.2/src/mojentic.egg-info}/PKG-INFO +1 -1
  5. {mojentic-0.5.1 → mojentic-0.5.2}/LICENSE.md +0 -0
  6. {mojentic-0.5.1 → mojentic-0.5.2}/README.md +0 -0
  7. {mojentic-0.5.1 → mojentic-0.5.2}/setup.cfg +0 -0
  8. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/__init__.py +0 -0
  9. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/broker_as_tool.py +0 -0
  10. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/broker_examples.py +0 -0
  11. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/characterize_ollama.py +0 -0
  12. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/characterize_openai.py +0 -0
  13. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/chat_session.py +0 -0
  14. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/chat_session_with_tool.py +0 -0
  15. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/coding_file_tool.py +0 -0
  16. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/current_datetime_tool_example.py +0 -0
  17. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/design_analysis.py +0 -0
  18. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/embeddings.py +0 -0
  19. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/ensures_files_exist.py +0 -0
  20. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/file_deduplication.py +0 -0
  21. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/file_tool.py +0 -0
  22. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/image_analysis.py +0 -0
  23. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/image_broker.py +0 -0
  24. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/image_broker_splat.py +0 -0
  25. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/iterative_solver.py +0 -0
  26. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/list_models.py +0 -0
  27. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/raw.py +0 -0
  28. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/react/__init__.py +0 -0
  29. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/react/agents/__init__.py +0 -0
  30. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/react/agents/decisioning_agent.py +0 -0
  31. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/react/agents/thinking_agent.py +0 -0
  32. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/react/formatters.py +0 -0
  33. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/react/models/__init__.py +0 -0
  34. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/react/models/base.py +0 -0
  35. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/react/models/events.py +0 -0
  36. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/react.py +0 -0
  37. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/recursive_agent.py +0 -0
  38. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/routed_send_response.py +0 -0
  39. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/simple_llm.py +0 -0
  40. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/simple_llm_repl.py +0 -0
  41. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/simple_structured.py +0 -0
  42. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/simple_tool.py +0 -0
  43. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/solver_chat_session.py +0 -0
  44. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/streaming.py +0 -0
  45. {mojentic-0.5.1 → mojentic-0.5.2}/src/_examples/working_memory.py +0 -0
  46. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/__init__.py +0 -0
  47. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/agents/__init__.py +0 -0
  48. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/agents/agent_broker.py +0 -0
  49. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/agents/base_agent.py +0 -0
  50. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/agents/base_llm_agent.py +0 -0
  51. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/agents/base_llm_agent_spec.py +0 -0
  52. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/agents/correlation_aggregator_agent.py +0 -0
  53. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/agents/iterative_problem_solver.py +0 -0
  54. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/agents/output_agent.py +0 -0
  55. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/agents/simple_recursive_agent.py +0 -0
  56. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/audit/event_store.py +0 -0
  57. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/audit/event_store_spec.py +0 -0
  58. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/context/__init__.py +0 -0
  59. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/context/shared_working_memory.py +0 -0
  60. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/dispatcher.py +0 -0
  61. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/event.py +0 -0
  62. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/__init__.py +0 -0
  63. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/chat_session.py +0 -0
  64. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/chat_session_spec.py +0 -0
  65. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/gateways/__init__.py +0 -0
  66. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/gateways/anthropic.py +0 -0
  67. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/gateways/anthropic_messages_adapter.py +0 -0
  68. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/gateways/embeddings_gateway.py +0 -0
  69. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/gateways/file_gateway.py +0 -0
  70. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/gateways/llm_gateway.py +0 -0
  71. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/gateways/models.py +0 -0
  72. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/gateways/ollama.py +0 -0
  73. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/gateways/ollama_messages_adapter.py +0 -0
  74. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/gateways/ollama_messages_adapter_spec.py +0 -0
  75. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/gateways/openai.py +0 -0
  76. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/gateways/openai_message_adapter_spec.py +0 -0
  77. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/gateways/openai_messages_adapter.py +0 -0
  78. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/gateways/tokenizer_gateway.py +0 -0
  79. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/llm_broker.py +0 -0
  80. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/llm_broker_spec.py +0 -0
  81. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/message_composers_spec.py +0 -0
  82. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/registry/__init__.py +0 -0
  83. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/registry/llm_registry.py +0 -0
  84. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/registry/models.py +0 -0
  85. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/registry/populate_registry_from_ollama.py +0 -0
  86. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/tools/__init__.py +0 -0
  87. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/tools/ask_user_tool.py +0 -0
  88. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/tools/current_datetime.py +0 -0
  89. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/tools/date_resolver.py +0 -0
  90. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/tools/date_resolver_spec.py +0 -0
  91. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/tools/file_manager.py +0 -0
  92. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/tools/llm_tool.py +0 -0
  93. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/tools/tool_wrapper.py +0 -0
  94. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/tools/tool_wrapper_spec.py +0 -0
  95. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/llm/tools/web_search.py +0 -0
  96. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/router.py +0 -0
  97. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/router_spec.py +0 -0
  98. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/utils/__init__.py +0 -0
  99. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic/utils/formatting.py +0 -0
  100. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic.egg-info/SOURCES.txt +0 -0
  101. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic.egg-info/dependency_links.txt +0 -0
  102. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic.egg-info/requires.txt +0 -0
  103. {mojentic-0.5.1 → mojentic-0.5.2}/src/mojentic.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mojentic
3
- Version: 0.5.1
3
+ Version: 0.5.2
4
4
  Summary: Mojentic is an agentic framework that aims to provide a simple and flexible way to assemble teams of agents to solve complex problems.
5
5
  Author-email: Stacey Vetzal <stacey@vetzal.com>
6
6
  Project-URL: Homepage, https://github.com/mojility/mojentic
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mojentic"
3
- version = "0.5.1"
3
+ version = "0.5.2"
4
4
  authors = [
5
5
  { name = "Stacey Vetzal", email = "stacey@vetzal.com" },
6
6
  ]
@@ -253,7 +253,7 @@ class MessageBuilder():
253
253
 
254
254
  return self
255
255
 
256
- def load_content(self, file_path: Union[str, Path], template_values: Optional[Dict[str, str]] = None) -> "MessageBuilder":
256
+ def load_content(self, file_path: Union[str, Path], template_values: Optional[Dict[str, Union[str, Path]]] = None) -> "MessageBuilder":
257
257
  """
258
258
  Load content from a file into the content field of the MessageBuilder.
259
259
 
@@ -265,11 +265,14 @@ class MessageBuilder():
265
265
  ----------
266
266
  file_path : Union[str, Path]
267
267
  Path to the file to load content from. Can be a string or Path object.
268
- template_values : Optional[Dict[str, str]], optional
268
+ template_values : Optional[Dict[str, Union[str, Path]]], optional
269
269
  Dictionary of values used to replace placeholders in the content.
270
270
  For example, if the content contains "{greeting}" and template_values is
271
271
  {"greeting": "Hello, World!"}, then "{greeting}" will be replaced with
272
- "Hello, World!". Default is None.
272
+ "Hello, World!".
273
+ If a value is a Path object, it will be treated as a file reference and the
274
+ content of that file will be used to replace the placeholder.
275
+ Default is None.
273
276
 
274
277
  Returns
275
278
  -------
@@ -290,7 +293,15 @@ class MessageBuilder():
290
293
  # Replace placeholders with template values if provided
291
294
  if template_values:
292
295
  for key, value in template_values.items():
293
- self.content = self.content.replace(f"{{{key}}}", value)
296
+ if isinstance(value, Path):
297
+ # If value is a Path, read the content of the file
298
+ if not self.file_gateway.exists(value):
299
+ raise FileNotFoundError(f"Template file not found: {value}")
300
+ file_content = self.file_gateway.read(value).strip()
301
+ self.content = self.content.replace(f"{{{key}}}", file_content)
302
+ else:
303
+ # If value is a string, use it directly
304
+ self.content = self.content.replace(f"{{{key}}}", value)
294
305
 
295
306
  return self
296
307
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mojentic
3
- Version: 0.5.1
3
+ Version: 0.5.2
4
4
  Summary: Mojentic is an agentic framework that aims to provide a simple and flexible way to assemble teams of agents to solve complex problems.
5
5
  Author-email: Stacey Vetzal <stacey@vetzal.com>
6
6
  Project-URL: Homepage, https://github.com/mojility/mojentic
File without changes
File without changes
File without changes
File without changes
File without changes