memorisdk 2.0.0__tar.gz → 2.1.0__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.
Potentially problematic release.
This version of memorisdk might be problematic. Click here for more details.
- {memorisdk-2.0.0 → memorisdk-2.1.0}/PKG-INFO +36 -20
- {memorisdk-2.0.0 → memorisdk-2.1.0}/README.md +31 -16
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/__init__.py +3 -3
- memorisdk-2.1.0/memori/agents/conscious_agent.py +556 -0
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/agents/memory_agent.py +19 -9
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/agents/retrieval_agent.py +138 -63
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/config/manager.py +7 -7
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/config/memory_manager.py +25 -25
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/config/settings.py +13 -6
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/core/conversation.py +15 -15
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/core/database.py +14 -13
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/core/memory.py +438 -123
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/core/providers.py +25 -25
- memorisdk-2.1.0/memori/database/__init__.py +16 -0
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/adapters/__init__.py +11 -0
- memorisdk-2.1.0/memori/database/adapters/mongodb_adapter.py +739 -0
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/adapters/mysql_adapter.py +8 -8
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/adapters/postgresql_adapter.py +6 -6
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/adapters/sqlite_adapter.py +6 -6
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/auto_creator.py +8 -9
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/connection_utils.py +5 -5
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/connectors/__init__.py +11 -0
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/connectors/base_connector.py +18 -19
- memorisdk-2.1.0/memori/database/connectors/mongodb_connector.py +527 -0
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/connectors/mysql_connector.py +13 -15
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/connectors/postgres_connector.py +12 -12
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/connectors/sqlite_connector.py +11 -11
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/models.py +2 -2
- memorisdk-2.1.0/memori/database/mongodb_manager.py +1402 -0
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/queries/base_queries.py +3 -4
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/queries/chat_queries.py +3 -5
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/queries/entity_queries.py +3 -5
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/queries/memory_queries.py +3 -5
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/query_translator.py +11 -11
- memorisdk-2.1.0/memori/database/schema_generators/__init__.py +18 -0
- memorisdk-2.1.0/memori/database/schema_generators/mongodb_schema_generator.py +666 -0
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/schema_generators/mysql_schema_generator.py +2 -4
- memorisdk-2.1.0/memori/database/search/__init__.py +19 -0
- memorisdk-2.1.0/memori/database/search/mongodb_search_adapter.py +653 -0
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/search/mysql_search_adapter.py +8 -8
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/search/sqlite_search_adapter.py +6 -6
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/search_service.py +218 -66
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/sqlalchemy_manager.py +72 -25
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/integrations/__init__.py +1 -1
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/integrations/anthropic_integration.py +1 -3
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/integrations/litellm_integration.py +23 -6
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/integrations/openai_integration.py +31 -3
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/tools/memory_tool.py +104 -13
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/utils/exceptions.py +58 -58
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/utils/helpers.py +11 -12
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/utils/input_validator.py +10 -12
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/utils/logging.py +4 -4
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/utils/pydantic_models.py +57 -57
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/utils/query_builder.py +20 -20
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/utils/security_audit.py +28 -28
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/utils/security_integration.py +9 -9
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/utils/transaction_manager.py +20 -19
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/utils/validators.py +6 -6
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memorisdk.egg-info/PKG-INFO +36 -20
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memorisdk.egg-info/SOURCES.txt +5 -1
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memorisdk.egg-info/requires.txt +4 -0
- {memorisdk-2.0.0 → memorisdk-2.1.0}/pyproject.toml +7 -8
- memorisdk-2.0.0/memori/agents/conscious_agent.py +0 -344
- memorisdk-2.0.0/memori/database/__init__.py +0 -5
- memorisdk-2.0.0/memori/database/schema_generators/__init__.py +0 -7
- memorisdk-2.0.0/memori/database/search/__init__.py +0 -8
- memorisdk-2.0.0/memori/scripts/llm_text.py +0 -50
- {memorisdk-2.0.0 → memorisdk-2.1.0}/LICENSE +0 -0
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/agents/__init__.py +0 -0
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/config/__init__.py +0 -0
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/core/__init__.py +0 -0
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/queries/__init__.py +0 -0
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/templates/__init__.py +0 -0
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/templates/basic_template.py +0 -0
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/database/templates/schemas/__init__.py +0 -0
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/tools/__init__.py +0 -0
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/utils/__init__.py +0 -0
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memori/utils/schemas.py +0 -0
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memorisdk.egg-info/dependency_links.txt +0 -0
- {memorisdk-2.0.0 → memorisdk-2.1.0}/memorisdk.egg-info/top_level.txt +0 -0
- {memorisdk-2.0.0 → memorisdk-2.1.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: memorisdk
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.1.0
|
|
4
4
|
Summary: The Open-Source Memory Layer for AI Agents & Multi-Agent Systems
|
|
5
5
|
Author-email: GibsonAI Team <noc@gibsonai.com>
|
|
6
6
|
License: Apache-2.0
|
|
@@ -16,8 +16,6 @@ Classifier: Intended Audience :: Developers
|
|
|
16
16
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
17
17
|
Classifier: Operating System :: OS Independent
|
|
18
18
|
Classifier: Programming Language :: Python :: 3
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
20
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
21
19
|
Classifier: Programming Language :: Python :: 3.10
|
|
22
20
|
Classifier: Programming Language :: Python :: 3.11
|
|
23
21
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -25,7 +23,7 @@ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
|
25
23
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
26
24
|
Classifier: Topic :: Database :: Database Engines/Servers
|
|
27
25
|
Classifier: Typing :: Typed
|
|
28
|
-
Requires-Python: >=3.
|
|
26
|
+
Requires-Python: >=3.10
|
|
29
27
|
Description-Content-Type: text/markdown
|
|
30
28
|
License-File: LICENSE
|
|
31
29
|
Requires-Dist: loguru>=0.6.0
|
|
@@ -54,9 +52,12 @@ Provides-Extra: postgres
|
|
|
54
52
|
Requires-Dist: psycopg2-binary>=2.9.0; extra == "postgres"
|
|
55
53
|
Provides-Extra: mysql
|
|
56
54
|
Requires-Dist: PyMySQL>=1.0.0; extra == "mysql"
|
|
55
|
+
Provides-Extra: mongodb
|
|
56
|
+
Requires-Dist: pymongo>=4.0.0; extra == "mongodb"
|
|
57
57
|
Provides-Extra: databases
|
|
58
58
|
Requires-Dist: psycopg2-binary>=2.9.0; extra == "databases"
|
|
59
59
|
Requires-Dist: PyMySQL>=1.0.0; extra == "databases"
|
|
60
|
+
Requires-Dist: pymongo>=4.0.0; extra == "databases"
|
|
60
61
|
Provides-Extra: anthropic
|
|
61
62
|
Requires-Dist: anthropic>=0.3.0; extra == "anthropic"
|
|
62
63
|
Provides-Extra: litellm
|
|
@@ -98,11 +99,11 @@ Dynamic: license-file
|
|
|
98
99
|
# memori
|
|
99
100
|
|
|
100
101
|
<p align="center">
|
|
101
|
-
<strong>
|
|
102
|
+
<strong>An open-source SQL-Native memory engine for AI</strong>
|
|
102
103
|
</p>
|
|
103
104
|
|
|
104
105
|
<p align="center">
|
|
105
|
-
<i>
|
|
106
|
+
<i>From Postgres to MySQL, Memori plugs into the SQL databases you already use. Simple setup, infinite scale without new infrastructure.</i>
|
|
106
107
|
</p>
|
|
107
108
|
|
|
108
109
|
<p align="center">
|
|
@@ -128,13 +129,20 @@ Dynamic: license-file
|
|
|
128
129
|
|
|
129
130
|
---
|
|
130
131
|
|
|
131
|
-
##
|
|
132
|
+
## What is Memori
|
|
132
133
|
|
|
133
|
-
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
134
|
+
Memori uses structured entity extraction, relationship mapping, and SQL-based retrieval to create transparent, portable, and queryable AI memory. Memomi uses multiple agents working together to intelligently promote essential long-term memories to short-term storage for faster context injection.
|
|
135
|
+
|
|
136
|
+
With a single line of code `memori.enable()` any LLM gains the ability to remember conversations, learn from interactions, and maintain context across sessions. The entire memory system is stored in a standard SQLite database (or PostgreSQL/MySQL for enterprise deployments), making it fully portable, auditable, and owned by the user.
|
|
137
|
+
|
|
138
|
+
## Key Differentiators
|
|
139
|
+
|
|
140
|
+
- **Radical Simplicity**: One line to enable memory for any LLM framework (OpenAI, Anthropic, LiteLLM, LangChain)
|
|
141
|
+
- **True Data Ownership**: Memory stored in standard SQL databases that users fully control
|
|
142
|
+
- **Complete Transparency**: Every memory decision is queryable with SQL and fully explainable
|
|
143
|
+
- **Zero Vendor Lock-in**: Export your entire memory as a SQLite file and move anywhere
|
|
144
|
+
- **Cost Efficiency**: 80-90% cheaper than vector database solutions at scale
|
|
145
|
+
- **Compliance Ready**: SQL-based storage enables audit trails, data residency, and regulatory compliance
|
|
138
146
|
|
|
139
147
|
## ⚡ Quick Start
|
|
140
148
|
|
|
@@ -197,6 +205,8 @@ print("\n💡 Notice: Memori automatically knows about your FastAPI Python proje
|
|
|
197
205
|
|
|
198
206
|
---
|
|
199
207
|
|
|
208
|
+
> By default, Memori uses in-memory SQLite database. Get **FREE** serverless database instance in [GibsonAI](https://app.gibsonai.com/signup) platform.
|
|
209
|
+
|
|
200
210
|
**🚀 Ready to explore more?**
|
|
201
211
|
- [📖 Examples](#examples) - Basic usage patterns and code samples
|
|
202
212
|
- [🔌 Framework Integrations](#framework-integrations) - LangChain, Agno & CrewAI examples
|
|
@@ -458,19 +468,25 @@ memori/
|
|
|
458
468
|
- **[Memory Retrieval](./memory_retrival_example.py)** - Function calling with memory tools
|
|
459
469
|
- **[Advanced Config](./examples/advanced_config.py)** - Production configuration
|
|
460
470
|
- **[Interactive Demo](./memori_example.py)** - Live conscious ingestion showcase
|
|
471
|
+
- **[Simple Multi-User](./examples/multiple-users/simple_multiuser.py)** - Basic demonstration of user memory isolation with namespaces
|
|
472
|
+
- **[FastAPI Multi-User App](./examples/multiple-users/fastapi_multiuser_app.py)** - Full-featured REST API with Swagger UI for testing multi-user functionality
|
|
461
473
|
|
|
462
474
|
## Framework Integrations
|
|
463
475
|
|
|
464
476
|
Memori works seamlessly with popular AI frameworks:
|
|
465
477
|
|
|
466
|
-
| Framework | Description | Example |
|
|
467
|
-
|
|
468
|
-
|
|
|
469
|
-
|
|
|
470
|
-
|
|
|
471
|
-
|
|
|
472
|
-
|
|
|
473
|
-
|
|
|
478
|
+
| Framework | Description | Example |
|
|
479
|
+
|-----------|-------------|---------|
|
|
480
|
+
| [AgentOps](./examples/integrations/agentops_example.py) | Track and monitor Memori memory operations with comprehensive observability | Memory operation tracking with AgentOps analytics |
|
|
481
|
+
| [Agno](./examples/integrations/agno_example.py) | Memory-enhanced agent framework integration with persistent conversations | Simple chat agent with memory search |
|
|
482
|
+
| [AWS Strands](./examples/integrations/aws_strands_example.py) | Professional development coach with Strands SDK and persistent memory | Career coaching agent with goal tracking |
|
|
483
|
+
| [Azure AI Foundry](./examples/integrations/azure_ai_foundry_example.py) | Azure AI Foundry agents with persistent memory across conversations | Enterprise AI agents with Azure integration |
|
|
484
|
+
| [CamelAI](./examples/integrations/camelai_example.py) | Multi-agent communication framework with automatic memory recording and retrieval | Memory-enhanced chat agents with conversation continuity |
|
|
485
|
+
| [CrewAI](./examples/integrations/crewai_example.py) | Multi-agent system with shared memory across agent interactions | Collaborative agents with memory |
|
|
486
|
+
| [Digital Ocean AI](./examples/integrations/digital_ocean_example.py) | Memory-enhanced customer support using Digital Ocean's AI platform | Customer support assistant with conversation history |
|
|
487
|
+
| [LangChain](./examples/integrations/langchain_example.py) | Enterprise-grade agent framework with advanced memory integration | AI assistant with LangChain tools and memory |
|
|
488
|
+
| [OpenAI Agent](./examples/integrations/openai_agent_example.py) | Memory-enhanced OpenAI Agent with function calling and user preference tracking | Interactive assistant with memory search and user info storage |
|
|
489
|
+
| [Swarms](./examples/integrations/swarms_example.py) | Multi-agent system framework with persistent memory capabilities | Memory-enhanced Swarms agents with auto/conscious ingestion |
|
|
474
490
|
|
|
475
491
|
## Interactive Demos
|
|
476
492
|
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
# memori
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
|
-
<strong>
|
|
6
|
+
<strong>An open-source SQL-Native memory engine for AI</strong>
|
|
7
7
|
</p>
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
|
-
<i>
|
|
10
|
+
<i>From Postgres to MySQL, Memori plugs into the SQL databases you already use. Simple setup, infinite scale without new infrastructure.</i>
|
|
11
11
|
</p>
|
|
12
12
|
|
|
13
13
|
<p align="center">
|
|
@@ -33,13 +33,20 @@
|
|
|
33
33
|
|
|
34
34
|
---
|
|
35
35
|
|
|
36
|
-
##
|
|
36
|
+
## What is Memori
|
|
37
37
|
|
|
38
|
-
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
Memori uses structured entity extraction, relationship mapping, and SQL-based retrieval to create transparent, portable, and queryable AI memory. Memomi uses multiple agents working together to intelligently promote essential long-term memories to short-term storage for faster context injection.
|
|
39
|
+
|
|
40
|
+
With a single line of code `memori.enable()` any LLM gains the ability to remember conversations, learn from interactions, and maintain context across sessions. The entire memory system is stored in a standard SQLite database (or PostgreSQL/MySQL for enterprise deployments), making it fully portable, auditable, and owned by the user.
|
|
41
|
+
|
|
42
|
+
## Key Differentiators
|
|
43
|
+
|
|
44
|
+
- **Radical Simplicity**: One line to enable memory for any LLM framework (OpenAI, Anthropic, LiteLLM, LangChain)
|
|
45
|
+
- **True Data Ownership**: Memory stored in standard SQL databases that users fully control
|
|
46
|
+
- **Complete Transparency**: Every memory decision is queryable with SQL and fully explainable
|
|
47
|
+
- **Zero Vendor Lock-in**: Export your entire memory as a SQLite file and move anywhere
|
|
48
|
+
- **Cost Efficiency**: 80-90% cheaper than vector database solutions at scale
|
|
49
|
+
- **Compliance Ready**: SQL-based storage enables audit trails, data residency, and regulatory compliance
|
|
43
50
|
|
|
44
51
|
## ⚡ Quick Start
|
|
45
52
|
|
|
@@ -102,6 +109,8 @@ print("\n💡 Notice: Memori automatically knows about your FastAPI Python proje
|
|
|
102
109
|
|
|
103
110
|
---
|
|
104
111
|
|
|
112
|
+
> By default, Memori uses in-memory SQLite database. Get **FREE** serverless database instance in [GibsonAI](https://app.gibsonai.com/signup) platform.
|
|
113
|
+
|
|
105
114
|
**🚀 Ready to explore more?**
|
|
106
115
|
- [📖 Examples](#examples) - Basic usage patterns and code samples
|
|
107
116
|
- [🔌 Framework Integrations](#framework-integrations) - LangChain, Agno & CrewAI examples
|
|
@@ -363,19 +372,25 @@ memori/
|
|
|
363
372
|
- **[Memory Retrieval](./memory_retrival_example.py)** - Function calling with memory tools
|
|
364
373
|
- **[Advanced Config](./examples/advanced_config.py)** - Production configuration
|
|
365
374
|
- **[Interactive Demo](./memori_example.py)** - Live conscious ingestion showcase
|
|
375
|
+
- **[Simple Multi-User](./examples/multiple-users/simple_multiuser.py)** - Basic demonstration of user memory isolation with namespaces
|
|
376
|
+
- **[FastAPI Multi-User App](./examples/multiple-users/fastapi_multiuser_app.py)** - Full-featured REST API with Swagger UI for testing multi-user functionality
|
|
366
377
|
|
|
367
378
|
## Framework Integrations
|
|
368
379
|
|
|
369
380
|
Memori works seamlessly with popular AI frameworks:
|
|
370
381
|
|
|
371
|
-
| Framework | Description | Example |
|
|
372
|
-
|
|
373
|
-
|
|
|
374
|
-
|
|
|
375
|
-
|
|
|
376
|
-
|
|
|
377
|
-
|
|
|
378
|
-
|
|
|
382
|
+
| Framework | Description | Example |
|
|
383
|
+
|-----------|-------------|---------|
|
|
384
|
+
| [AgentOps](./examples/integrations/agentops_example.py) | Track and monitor Memori memory operations with comprehensive observability | Memory operation tracking with AgentOps analytics |
|
|
385
|
+
| [Agno](./examples/integrations/agno_example.py) | Memory-enhanced agent framework integration with persistent conversations | Simple chat agent with memory search |
|
|
386
|
+
| [AWS Strands](./examples/integrations/aws_strands_example.py) | Professional development coach with Strands SDK and persistent memory | Career coaching agent with goal tracking |
|
|
387
|
+
| [Azure AI Foundry](./examples/integrations/azure_ai_foundry_example.py) | Azure AI Foundry agents with persistent memory across conversations | Enterprise AI agents with Azure integration |
|
|
388
|
+
| [CamelAI](./examples/integrations/camelai_example.py) | Multi-agent communication framework with automatic memory recording and retrieval | Memory-enhanced chat agents with conversation continuity |
|
|
389
|
+
| [CrewAI](./examples/integrations/crewai_example.py) | Multi-agent system with shared memory across agent interactions | Collaborative agents with memory |
|
|
390
|
+
| [Digital Ocean AI](./examples/integrations/digital_ocean_example.py) | Memory-enhanced customer support using Digital Ocean's AI platform | Customer support assistant with conversation history |
|
|
391
|
+
| [LangChain](./examples/integrations/langchain_example.py) | Enterprise-grade agent framework with advanced memory integration | AI assistant with LangChain tools and memory |
|
|
392
|
+
| [OpenAI Agent](./examples/integrations/openai_agent_example.py) | Memory-enhanced OpenAI Agent with function calling and user preference tracking | Interactive assistant with memory search and user info storage |
|
|
393
|
+
| [Swarms](./examples/integrations/swarms_example.py) | Multi-agent system framework with persistent memory capabilities | Memory-enhanced Swarms agents with auto/conscious ingestion |
|
|
379
394
|
|
|
380
395
|
## Interactive Demos
|
|
381
396
|
|
|
@@ -5,7 +5,7 @@ Professional-grade memory layer with comprehensive error handling, configuration
|
|
|
5
5
|
management, and modular architecture for production AI systems.
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
|
-
__version__ = "2.
|
|
8
|
+
__version__ = "2.1.0"
|
|
9
9
|
__author__ = "Harshal More"
|
|
10
10
|
__email__ = "harshalmore2468@gmail.com"
|
|
11
11
|
|
|
@@ -71,8 +71,8 @@ from .utils import ( # Pydantic models; Enhanced exceptions; Validators and hel
|
|
|
71
71
|
)
|
|
72
72
|
|
|
73
73
|
# Memory agents (dynamically imported to avoid import errors)
|
|
74
|
-
MemoryAgent:
|
|
75
|
-
MemorySearchEngine:
|
|
74
|
+
MemoryAgent: Any | None = None
|
|
75
|
+
MemorySearchEngine: Any | None = None
|
|
76
76
|
_AGENTS_AVAILABLE = False
|
|
77
77
|
|
|
78
78
|
try:
|