gnosisllm-knowledge 0.2.0__py3-none-any.whl → 0.4.0__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 (63) hide show
  1. gnosisllm_knowledge/__init__.py +91 -39
  2. gnosisllm_knowledge/api/__init__.py +3 -2
  3. gnosisllm_knowledge/api/knowledge.py +502 -32
  4. gnosisllm_knowledge/api/memory.py +966 -0
  5. gnosisllm_knowledge/backends/__init__.py +14 -5
  6. gnosisllm_knowledge/backends/memory/indexer.py +27 -2
  7. gnosisllm_knowledge/backends/memory/searcher.py +111 -10
  8. gnosisllm_knowledge/backends/opensearch/agentic.py +355 -48
  9. gnosisllm_knowledge/backends/opensearch/config.py +49 -28
  10. gnosisllm_knowledge/backends/opensearch/indexer.py +49 -3
  11. gnosisllm_knowledge/backends/opensearch/mappings.py +14 -5
  12. gnosisllm_knowledge/backends/opensearch/memory/__init__.py +12 -0
  13. gnosisllm_knowledge/backends/opensearch/memory/client.py +1380 -0
  14. gnosisllm_knowledge/backends/opensearch/memory/config.py +127 -0
  15. gnosisllm_knowledge/backends/opensearch/memory/setup.py +322 -0
  16. gnosisllm_knowledge/backends/opensearch/queries.py +33 -33
  17. gnosisllm_knowledge/backends/opensearch/searcher.py +238 -0
  18. gnosisllm_knowledge/backends/opensearch/setup.py +308 -148
  19. gnosisllm_knowledge/cli/app.py +436 -31
  20. gnosisllm_knowledge/cli/commands/agentic.py +26 -9
  21. gnosisllm_knowledge/cli/commands/load.py +169 -19
  22. gnosisllm_knowledge/cli/commands/memory.py +733 -0
  23. gnosisllm_knowledge/cli/commands/search.py +9 -10
  24. gnosisllm_knowledge/cli/commands/setup.py +49 -23
  25. gnosisllm_knowledge/cli/display/service.py +43 -0
  26. gnosisllm_knowledge/cli/utils/config.py +62 -4
  27. gnosisllm_knowledge/core/domain/__init__.py +54 -0
  28. gnosisllm_knowledge/core/domain/discovery.py +166 -0
  29. gnosisllm_knowledge/core/domain/document.py +19 -19
  30. gnosisllm_knowledge/core/domain/memory.py +440 -0
  31. gnosisllm_knowledge/core/domain/result.py +11 -3
  32. gnosisllm_knowledge/core/domain/search.py +12 -25
  33. gnosisllm_knowledge/core/domain/source.py +11 -12
  34. gnosisllm_knowledge/core/events/__init__.py +8 -0
  35. gnosisllm_knowledge/core/events/types.py +198 -5
  36. gnosisllm_knowledge/core/exceptions.py +227 -0
  37. gnosisllm_knowledge/core/interfaces/__init__.py +17 -0
  38. gnosisllm_knowledge/core/interfaces/agentic.py +11 -3
  39. gnosisllm_knowledge/core/interfaces/indexer.py +10 -1
  40. gnosisllm_knowledge/core/interfaces/memory.py +524 -0
  41. gnosisllm_knowledge/core/interfaces/searcher.py +10 -1
  42. gnosisllm_knowledge/core/interfaces/streaming.py +133 -0
  43. gnosisllm_knowledge/core/streaming/__init__.py +36 -0
  44. gnosisllm_knowledge/core/streaming/pipeline.py +228 -0
  45. gnosisllm_knowledge/fetchers/__init__.py +8 -0
  46. gnosisllm_knowledge/fetchers/config.py +27 -0
  47. gnosisllm_knowledge/fetchers/neoreader.py +31 -3
  48. gnosisllm_knowledge/fetchers/neoreader_discovery.py +505 -0
  49. gnosisllm_knowledge/loaders/__init__.py +5 -1
  50. gnosisllm_knowledge/loaders/base.py +3 -4
  51. gnosisllm_knowledge/loaders/discovery.py +338 -0
  52. gnosisllm_knowledge/loaders/discovery_streaming.py +343 -0
  53. gnosisllm_knowledge/loaders/factory.py +46 -0
  54. gnosisllm_knowledge/loaders/sitemap.py +129 -1
  55. gnosisllm_knowledge/loaders/sitemap_streaming.py +258 -0
  56. gnosisllm_knowledge/services/indexing.py +100 -93
  57. gnosisllm_knowledge/services/search.py +84 -31
  58. gnosisllm_knowledge/services/streaming_pipeline.py +334 -0
  59. {gnosisllm_knowledge-0.2.0.dist-info → gnosisllm_knowledge-0.4.0.dist-info}/METADATA +73 -10
  60. gnosisllm_knowledge-0.4.0.dist-info/RECORD +81 -0
  61. gnosisllm_knowledge-0.2.0.dist-info/RECORD +0 -64
  62. {gnosisllm_knowledge-0.2.0.dist-info → gnosisllm_knowledge-0.4.0.dist-info}/WHEEL +0 -0
  63. {gnosisllm_knowledge-0.2.0.dist-info → gnosisllm_knowledge-0.4.0.dist-info}/entry_points.txt +0 -0
@@ -38,7 +38,7 @@ Features:
38
38
  - SOLID principles throughout
39
39
  """
40
40
 
41
- from gnosisllm_knowledge.api import Knowledge
41
+ from gnosisllm_knowledge.api import Knowledge, Memory
42
42
  from gnosisllm_knowledge.backends import (
43
43
  AgenticSearchFallback,
44
44
  MemoryIndexer,
@@ -51,6 +51,20 @@ from gnosisllm_knowledge.backends import (
51
51
  )
52
52
  from gnosisllm_knowledge.chunking import FixedSizeChunker, SentenceChunker
53
53
  from gnosisllm_knowledge.core.domain.document import Document, DocumentStatus, TextChunk
54
+ from gnosisllm_knowledge.core.domain.memory import (
55
+ ContainerConfig,
56
+ ContainerInfo,
57
+ HistoryEntry,
58
+ MemoryEntry,
59
+ MemoryStats,
60
+ MemoryStrategy,
61
+ MemoryType,
62
+ Message,
63
+ Namespace,
64
+ RecallResult,
65
+ SessionInfo,
66
+ StrategyConfig,
67
+ )
54
68
  from gnosisllm_knowledge.core.domain.result import (
55
69
  BatchResult,
56
70
  IndexResult,
@@ -58,9 +72,9 @@ from gnosisllm_knowledge.core.domain.result import (
58
72
  ValidationResult,
59
73
  )
60
74
  from gnosisllm_knowledge.core.domain.search import (
61
- AgentType,
62
75
  AgenticSearchQuery,
63
76
  AgenticSearchResult,
77
+ AgentType,
64
78
  ReasoningStep,
65
79
  SearchMode,
66
80
  SearchQuery,
@@ -72,15 +86,27 @@ from gnosisllm_knowledge.core.exceptions import (
72
86
  AgenticSearchError,
73
87
  ConfigurationError,
74
88
  ConnectionError,
89
+ ContainerExistsError,
90
+ ContainerNotFoundError,
75
91
  IndexError,
92
+ InferenceError,
93
+ InferenceTimeoutError,
76
94
  KnowledgeError,
77
95
  LoadError,
96
+ MemoryConfigurationError,
97
+ MemoryError,
78
98
  SearchError,
99
+ SessionNotFoundError,
100
+ )
101
+ from gnosisllm_knowledge.core.streaming import (
102
+ BatchCollector,
103
+ BoundedQueue,
104
+ PipelineConfig,
79
105
  )
80
106
  from gnosisllm_knowledge.fetchers import (
81
107
  HTTPContentFetcher,
82
- NeoreaderContentFetcher,
83
108
  NeoreaderConfig,
109
+ NeoreaderContentFetcher,
84
110
  )
85
111
  from gnosisllm_knowledge.loaders import (
86
112
  LoaderFactory,
@@ -95,58 +121,84 @@ from gnosisllm_knowledge.services import (
95
121
  __version__ = "0.2.0"
96
122
 
97
123
  __all__ = [
98
- # Main API
99
- "Knowledge",
100
- # Domain Models
101
- "Document",
102
- "DocumentStatus",
103
- "TextChunk",
104
- "SearchQuery",
105
- "SearchResult",
106
- "SearchResultItem",
107
- "SearchMode",
108
124
  "AgentType",
125
+ "AgenticSearchError",
126
+ "AgenticSearchFallback",
109
127
  "AgenticSearchQuery",
110
128
  "AgenticSearchResult",
111
- "ReasoningStep",
112
- "LoadResult",
113
- "IndexResult",
129
+ "BatchCollector",
114
130
  "BatchResult",
115
- "ValidationResult",
131
+ "BoundedQueue",
132
+ "ConfigurationError",
133
+ "ConnectionError",
134
+ "ContainerConfig",
135
+ "ContainerExistsError",
136
+ "ContainerInfo",
137
+ "ContainerNotFoundError",
138
+ # Domain Models
139
+ "Document",
140
+ "DocumentStatus",
116
141
  # Events
117
142
  "Event",
118
- "EventType",
119
143
  "EventEmitter",
144
+ "EventType",
145
+ "FixedSizeChunker",
146
+ # Fetchers
147
+ "HTTPContentFetcher",
148
+ "HistoryEntry",
149
+ "IndexError",
150
+ "IndexResult",
151
+ "InferenceError",
152
+ "InferenceTimeoutError",
153
+ # Main API
154
+ "Knowledge",
120
155
  # Exceptions
121
156
  "KnowledgeError",
122
- "ConfigurationError",
123
- "ConnectionError",
157
+ # Services
158
+ "KnowledgeIndexingService",
159
+ "KnowledgeSearchService",
124
160
  "LoadError",
125
- "IndexError",
126
- "SearchError",
127
- "AgenticSearchError",
161
+ "LoadResult",
128
162
  # Loaders
129
163
  "LoaderFactory",
130
- "WebsiteLoader",
131
- "SitemapLoader",
132
- # Fetchers
133
- "HTTPContentFetcher",
134
- "NeoreaderContentFetcher",
164
+ "Memory",
165
+ "MemoryConfigurationError",
166
+ "MemoryEntry",
167
+ # Memory Exceptions
168
+ "MemoryError",
169
+ # Memory Backend (for testing)
170
+ "MemoryIndexer",
171
+ "MemorySearcher",
172
+ "MemoryStats",
173
+ # Memory Domain Models
174
+ "MemoryStrategy",
175
+ "MemoryType",
176
+ "Message",
177
+ "Namespace",
135
178
  "NeoreaderConfig",
136
- # Chunkers
137
- "SentenceChunker",
138
- "FixedSizeChunker",
179
+ "NeoreaderContentFetcher",
180
+ "OpenSearchAgenticSearcher",
139
181
  # OpenSearch Backend
140
182
  "OpenSearchConfig",
141
183
  "OpenSearchIndexer",
142
184
  "OpenSearchKnowledgeSearcher",
143
185
  "OpenSearchSetupAdapter",
144
- "OpenSearchAgenticSearcher",
145
- "AgenticSearchFallback",
146
- # Memory Backend (for testing)
147
- "MemoryIndexer",
148
- "MemorySearcher",
149
- # Services
150
- "KnowledgeIndexingService",
151
- "KnowledgeSearchService",
186
+ # Streaming Pipeline
187
+ "PipelineConfig",
188
+ "ReasoningStep",
189
+ "RecallResult",
190
+ "SearchError",
191
+ "SearchMode",
192
+ "SearchQuery",
193
+ "SearchResult",
194
+ "SearchResultItem",
195
+ # Chunkers
196
+ "SentenceChunker",
197
+ "SessionInfo",
198
+ "SessionNotFoundError",
199
+ "SitemapLoader",
200
+ "StrategyConfig",
201
+ "TextChunk",
202
+ "ValidationResult",
203
+ "WebsiteLoader",
152
204
  ]
@@ -1,5 +1,6 @@
1
- """High-level API for knowledge operations."""
1
+ """High-level API for knowledge and memory operations."""
2
2
 
3
3
  from gnosisllm_knowledge.api.knowledge import Knowledge
4
+ from gnosisllm_knowledge.api.memory import Memory
4
5
 
5
- __all__ = ["Knowledge"]
6
+ __all__ = ["Knowledge", "Memory"]