alma-memory 0.5.0__py3-none-any.whl → 0.7.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 (111) hide show
  1. alma/__init__.py +296 -194
  2. alma/compression/__init__.py +33 -0
  3. alma/compression/pipeline.py +980 -0
  4. alma/confidence/__init__.py +47 -47
  5. alma/confidence/engine.py +540 -540
  6. alma/confidence/types.py +351 -351
  7. alma/config/loader.py +157 -157
  8. alma/consolidation/__init__.py +23 -23
  9. alma/consolidation/engine.py +678 -678
  10. alma/consolidation/prompts.py +84 -84
  11. alma/core.py +1189 -322
  12. alma/domains/__init__.py +30 -30
  13. alma/domains/factory.py +359 -359
  14. alma/domains/schemas.py +448 -448
  15. alma/domains/types.py +272 -272
  16. alma/events/__init__.py +75 -75
  17. alma/events/emitter.py +285 -284
  18. alma/events/storage_mixin.py +246 -246
  19. alma/events/types.py +126 -126
  20. alma/events/webhook.py +425 -425
  21. alma/exceptions.py +49 -49
  22. alma/extraction/__init__.py +31 -31
  23. alma/extraction/auto_learner.py +265 -264
  24. alma/extraction/extractor.py +420 -420
  25. alma/graph/__init__.py +106 -81
  26. alma/graph/backends/__init__.py +32 -18
  27. alma/graph/backends/kuzu.py +624 -0
  28. alma/graph/backends/memgraph.py +432 -0
  29. alma/graph/backends/memory.py +236 -236
  30. alma/graph/backends/neo4j.py +417 -417
  31. alma/graph/base.py +159 -159
  32. alma/graph/extraction.py +198 -198
  33. alma/graph/store.py +860 -860
  34. alma/harness/__init__.py +35 -35
  35. alma/harness/base.py +386 -386
  36. alma/harness/domains.py +705 -705
  37. alma/initializer/__init__.py +37 -37
  38. alma/initializer/initializer.py +418 -418
  39. alma/initializer/types.py +250 -250
  40. alma/integration/__init__.py +62 -62
  41. alma/integration/claude_agents.py +444 -432
  42. alma/integration/helena.py +423 -423
  43. alma/integration/victor.py +471 -471
  44. alma/learning/__init__.py +101 -86
  45. alma/learning/decay.py +878 -0
  46. alma/learning/forgetting.py +1446 -1446
  47. alma/learning/heuristic_extractor.py +390 -390
  48. alma/learning/protocols.py +374 -374
  49. alma/learning/validation.py +346 -346
  50. alma/mcp/__init__.py +123 -45
  51. alma/mcp/__main__.py +156 -156
  52. alma/mcp/resources.py +122 -122
  53. alma/mcp/server.py +955 -591
  54. alma/mcp/tools.py +3254 -511
  55. alma/observability/__init__.py +91 -0
  56. alma/observability/config.py +302 -0
  57. alma/observability/guidelines.py +170 -0
  58. alma/observability/logging.py +424 -0
  59. alma/observability/metrics.py +583 -0
  60. alma/observability/tracing.py +440 -0
  61. alma/progress/__init__.py +21 -21
  62. alma/progress/tracker.py +607 -607
  63. alma/progress/types.py +250 -250
  64. alma/retrieval/__init__.py +134 -53
  65. alma/retrieval/budget.py +525 -0
  66. alma/retrieval/cache.py +1304 -1061
  67. alma/retrieval/embeddings.py +202 -202
  68. alma/retrieval/engine.py +850 -366
  69. alma/retrieval/modes.py +365 -0
  70. alma/retrieval/progressive.py +560 -0
  71. alma/retrieval/scoring.py +344 -344
  72. alma/retrieval/trust_scoring.py +637 -0
  73. alma/retrieval/verification.py +797 -0
  74. alma/session/__init__.py +19 -19
  75. alma/session/manager.py +442 -399
  76. alma/session/types.py +288 -288
  77. alma/storage/__init__.py +101 -61
  78. alma/storage/archive.py +233 -0
  79. alma/storage/azure_cosmos.py +1259 -1048
  80. alma/storage/base.py +1083 -525
  81. alma/storage/chroma.py +1443 -1443
  82. alma/storage/constants.py +103 -0
  83. alma/storage/file_based.py +614 -619
  84. alma/storage/migrations/__init__.py +21 -0
  85. alma/storage/migrations/base.py +321 -0
  86. alma/storage/migrations/runner.py +323 -0
  87. alma/storage/migrations/version_stores.py +337 -0
  88. alma/storage/migrations/versions/__init__.py +11 -0
  89. alma/storage/migrations/versions/v1_0_0.py +373 -0
  90. alma/storage/migrations/versions/v1_1_0_workflow_context.py +551 -0
  91. alma/storage/pinecone.py +1080 -1080
  92. alma/storage/postgresql.py +1948 -1452
  93. alma/storage/qdrant.py +1306 -1306
  94. alma/storage/sqlite_local.py +3041 -1358
  95. alma/testing/__init__.py +46 -0
  96. alma/testing/factories.py +301 -0
  97. alma/testing/mocks.py +389 -0
  98. alma/types.py +292 -264
  99. alma/utils/__init__.py +19 -0
  100. alma/utils/tokenizer.py +521 -0
  101. alma/workflow/__init__.py +83 -0
  102. alma/workflow/artifacts.py +170 -0
  103. alma/workflow/checkpoint.py +311 -0
  104. alma/workflow/context.py +228 -0
  105. alma/workflow/outcomes.py +189 -0
  106. alma/workflow/reducers.py +393 -0
  107. {alma_memory-0.5.0.dist-info → alma_memory-0.7.0.dist-info}/METADATA +244 -72
  108. alma_memory-0.7.0.dist-info/RECORD +112 -0
  109. alma_memory-0.5.0.dist-info/RECORD +0 -76
  110. {alma_memory-0.5.0.dist-info → alma_memory-0.7.0.dist-info}/WHEEL +0 -0
  111. {alma_memory-0.5.0.dist-info → alma_memory-0.7.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alma-memory
3
- Version: 0.5.0
3
+ Version: 0.7.0
4
4
  Summary: Agent Learning Memory Architecture - Persistent memory for AI agents
5
5
  Author-email: RBKunnela <aiagentsprompt@gmail.com>
6
6
  License: MIT
@@ -41,6 +41,10 @@ Requires-Dist: pinecone>=3.0.0; extra == "pinecone"
41
41
  Provides-Extra: mcp
42
42
  Requires-Dist: pydantic>=2.0.0; extra == "mcp"
43
43
  Requires-Dist: aiohttp>=3.9.0; extra == "mcp"
44
+ Provides-Extra: observability
45
+ Requires-Dist: opentelemetry-api>=1.20.0; extra == "observability"
46
+ Requires-Dist: opentelemetry-sdk>=1.20.0; extra == "observability"
47
+ Requires-Dist: opentelemetry-exporter-otlp-proto-grpc>=1.20.0; extra == "observability"
44
48
  Provides-Extra: dev
45
49
  Requires-Dist: pytest>=7.0.0; extra == "dev"
46
50
  Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
@@ -52,17 +56,70 @@ Requires-Dist: black>=24.0.0; extra == "dev"
52
56
  Requires-Dist: bandit[toml]>=1.7.0; extra == "dev"
53
57
  Requires-Dist: numpy>=1.24.0; extra == "dev"
54
58
  Provides-Extra: all
55
- Requires-Dist: alma-memory[azure,chroma,dev,local,mcp,pinecone,postgres,qdrant]; extra == "all"
59
+ Requires-Dist: alma-memory[azure,chroma,dev,local,mcp,observability,pinecone,postgres,qdrant]; extra == "all"
56
60
 
57
61
  # ALMA - Agent Learning Memory Architecture
58
62
 
59
63
  [![PyPI version](https://badge.fury.io/py/alma-memory.svg)](https://pypi.org/project/alma-memory/)
64
+ [![npm version](https://img.shields.io/badge/npm-v0.6.0-cb3837?logo=npm)](https://github.com/RBKunnela/ALMA-memory/pkgs/npm/alma-memory)
60
65
  [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
61
66
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
62
67
  [![CI](https://github.com/RBKunnela/ALMA-memory/actions/workflows/ci.yml/badge.svg)](https://github.com/RBKunnela/ALMA-memory/actions/workflows/ci.yml)
63
- [![Code style: ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg)](https://github.com/astral-sh/ruff)
68
+ [![Documentation](https://img.shields.io/badge/docs-alma--memory.pages.dev-blue)](https://alma-memory.pages.dev)
69
+ [![Buy Me a Coffee](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-support-yellow?logo=buy-me-a-coffee)](https://buymeacoffee.com/aiagentsprp)
64
70
 
65
- > Persistent memory for AI agents that learn and improve over time - without model weight updates.
71
+ <div align="center">
72
+
73
+ ### 🧠 AI Agents That Actually Learn
74
+
75
+ **Persistent memory for AI agents that improves over time - no fine-tuning required.**
76
+
77
+ [**🌐 Visit alma-memory.pages.dev →**](https://alma-memory.pages.dev)
78
+
79
+ </div>
80
+
81
+ ---
82
+
83
+ **[📖 Documentation](https://alma-memory.pages.dev)** · **[🔧 Technical Reference](docs/TECHNICAL.md)** · **[📦 PyPI](https://pypi.org/project/alma-memory/)** · **[📦 npm](https://github.com/RBKunnela/ALMA-memory/pkgs/npm/alma-memory)** · **[☕ Support](https://buymeacoffee.com/aiagentsprp)**
84
+
85
+ ---
86
+
87
+ ## Looking for a Mem0 Alternative? LangChain Memory Replacement?
88
+
89
+ **ALMA is the answer.** If you've tried Mem0 or LangChain Memory and found them lacking for production AI agents, ALMA was built specifically to solve those gaps:
90
+
91
+ | If you need... | Mem0 | LangChain | **ALMA** |
92
+ |----------------|------|-----------|----------|
93
+ | Scoped learning (agents only learn their domain) | ❌ | ❌ | ✅ |
94
+ | Anti-pattern tracking (what NOT to do) | ❌ | ❌ | ✅ |
95
+ | Multi-agent knowledge sharing | ❌ | ❌ | ✅ |
96
+ | TypeScript/JavaScript SDK | ❌ | ✅ | ✅ |
97
+ | MCP integration (Claude Code) | ❌ | ❌ | ✅ |
98
+ | 6 vector database backends | Limited | Limited | ✅ |
99
+ | Graph memory for relationships | Limited | Limited | ✅ |
100
+ | Workflow checkpoints & state merging | ❌ | ❌ | ✅ |
101
+
102
+ **See detailed comparisons:** [ALMA vs Mem0](https://alma-memory.pages.dev/comparison/mem0-vs-alma.html) · [ALMA vs LangChain Memory](https://alma-memory.pages.dev/comparison/langchain-memory-vs-alma.html)
103
+
104
+ ---
105
+
106
+ ## The Problem I Solved
107
+
108
+ I was building AI agents for automated testing. Helena for frontend QA, Victor for backend verification. They worked great... until they didn't.
109
+
110
+ **The same mistakes kept happening:**
111
+
112
+ - Helena would use `sleep(5000)` for waits, causing flaky tests
113
+ - Victor would forget that the API uses JWT with 24-hour expiry
114
+ - Both agents would repeat failed strategies session after session
115
+
116
+ Every conversation started fresh. No memory. No learning. Just an expensive LLM making the same mistakes I'd already corrected.
117
+
118
+ I tried **Mem0**. It stores memories, but no way to scope what an agent can learn, no anti-pattern tracking, no multi-agent sharing. I looked at **LangChain Memory**. It's for conversation context, not long-term learning.
119
+
120
+ **Nothing fit. So I built ALMA.**
121
+
122
+ The core insight: AI agents don't need to modify their weights to "learn." They need **smart prompts** built from **relevant past experiences.**
66
123
 
67
124
  ---
68
125
 
@@ -79,7 +136,7 @@ ALMA isn't just another memory framework. Here's what sets it apart from alterna
79
136
  | **Event System** | Webhooks + in-process callbacks | None | React to memory changes in real-time |
80
137
  | **TypeScript SDK** | Full-featured client library | None | First-class JavaScript/TypeScript support |
81
138
  | **Vector DB Support** | 6 backends (PostgreSQL, Qdrant, Pinecone, Chroma, SQLite, Azure) | Limited | Deploy anywhere |
82
- | **Graph Memory** | Pluggable backends (Neo4j, In-memory) | Limited | Entity relationship tracking |
139
+ | **Graph Memory** | Pluggable backends (Neo4j, Memgraph, Kuzu, In-memory) | Limited | Entity relationship tracking |
83
140
  | **Harness Pattern** | Decouples agent from domain memory | None | Reusable agent architecture |
84
141
  | **MCP Integration** | Native stdio/HTTP server | None | Direct Claude Code integration |
85
142
  | **Domain Memory Factory** | 6 pre-built schemas | None | Instant setup for any domain |
@@ -87,58 +144,81 @@ ALMA isn't just another memory framework. Here's what sets it apart from alterna
87
144
 
88
145
  **Bottom line:** ALMA is purpose-built for AI agents that need to learn, remember, and improve - not just store and retrieve.
89
146
 
147
+ ### Quick Comparison: ALMA vs Mem0 vs Graphiti
148
+
149
+ | Feature | ALMA | Mem0 | Graphiti |
150
+ |---------|------|------|----------|
151
+ | Memory Scoping | ✅ `can_learn`/`cannot_learn` | ❌ | ❌ |
152
+ | Anti-Pattern Learning | ✅ `why_bad` + `better_alternative` | ❌ | ❌ |
153
+ | Multi-Agent Inheritance | ✅ `inherit_from`/`share_with` | ❌ | ❌ |
154
+ | Multi-Factor Scoring | ✅ 4 factors (similarity + recency + success + confidence) | ❌ similarity only | ❌ similarity only |
155
+ | MCP Integration | ✅ 16 tools | ❌ | ❌ |
156
+ | Workflow Checkpoints | ✅ | ❌ | ❌ |
157
+ | TypeScript SDK | ✅ | ❌ | ❌ |
158
+ | Graph + Vector Hybrid | ✅ | Limited | ✅ |
159
+
160
+ **The key insight:** Most solutions treat memory as "store embeddings, retrieve similar." ALMA treats it as "teach agents to improve within safe boundaries."
161
+
90
162
  ---
91
163
 
92
- ## What's New in v0.5.0
93
-
94
- ### Phase 2: Vector Database Backends
95
-
96
- - **Qdrant Backend** (`alma/storage/qdrant.py`)
97
- - Full StorageBackend implementation with vector similarity search
98
- - Metadata filtering for all queries
99
- - Optimized `MatchAny` queries for multi-agent memory sharing
100
-
101
- - **Pinecone Backend** (`alma/storage/pinecone.py`)
102
- - Namespace-based organization per memory type
103
- - Serverless spec support for automatic scaling
104
- - Environment variable expansion in configuration
105
-
106
- - **Chroma Backend** (`alma/storage/chroma.py`)
107
- - Persistent, client-server, and ephemeral modes
108
- - Native embedding storage and similarity search
109
- - Lightweight local development option
110
-
111
- - **Graph Database Abstraction** (`alma/graph/`)
112
- - Pluggable `GraphBackend` interface
113
- - Neo4j backend for production
114
- - In-memory backend for testing
115
- - Factory function `create_graph_backend()` for easy setup
116
-
117
- ### Phase 1: Core Features
118
-
119
- - **Memory Consolidation Engine** (`alma/consolidation/`)
120
- - LLM-powered deduplication that merges similar memories
121
- - Cosine similarity-based grouping with configurable thresholds
122
- - Provenance tracking (merged_from metadata)
123
- - Dry-run mode for safety
124
-
125
- - **Event System** (`alma/events/`)
126
- - In-process callbacks via `EventEmitter`
127
- - Webhook delivery with HMAC signatures
128
- - Event types: CREATED, UPDATED, DELETED, ACCESSED, CONSOLIDATED
129
- - Retry logic with exponential backoff
130
-
131
- - **TypeScript/JavaScript SDK** (`packages/alma-memory-js/`)
132
- - Full API coverage: retrieve, learn, addPreference, addKnowledge, forget
133
- - Type-safe with comprehensive TypeScript definitions
134
- - Error hierarchy matching Python SDK
135
- - Automatic retry with configurable backoff
136
-
137
- - **Multi-Agent Memory Sharing**
138
- - `inherit_from`: Read memories from other agents
139
- - `share_with`: Make your memories readable by others
140
- - Origin tracking via `metadata['shared_from']`
141
- - Optimized batch queries across agents
164
+ ## What's New in v0.6.0
165
+
166
+ ### Workflow Context Layer
167
+
168
+ The major theme of v0.6.0 is **multi-agent workflow support** - enabling agents to coordinate across long-running tasks with checkpoints, state merging, and artifact tracking.
169
+
170
+ - **Checkpoint & Resume** (`alma/workflow/`)
171
+ - Save workflow state at any point: `alma.checkpoint(workflow_id, state, metadata)`
172
+ - Resume from checkpoints after failures or handoffs: `alma.resume(workflow_id)`
173
+ - Automatic cleanup of old checkpoints: `alma.cleanup_checkpoints(older_than_days=7)`
174
+
175
+ - **State Reducers for Multi-Agent Workflows**
176
+ - Merge states from parallel agents: `alma.merge_states(workflow_id, states, reducer)`
177
+ - Built-in reducers: `latest_wins`, `merge_lists`, `priority_agent`
178
+ - Custom reducer functions for complex merge logic
179
+
180
+ - **Artifact Linking**
181
+ - Link outputs to workflows: `alma.link_artifact(workflow_id, artifact_type, ref)`
182
+ - Artifact types: `code`, `test`, `document`, `config`, `deployment`
183
+ - Retrieve all artifacts: `alma.get_artifacts(workflow_id)`
184
+
185
+ - **Scoped Retrieval**
186
+ - Filter memories by workflow context: `alma.retrieve_scoped(query, scope)`
187
+ - Scopes: `workflow_only`, `agent_only`, `project_wide`
188
+
189
+ - **Session Persistence**
190
+ - Session handoffs now persist to storage backend
191
+ - Lazy loading for performance
192
+ - Survives process restarts
193
+
194
+ - **MCP Workflow Tools** (8 new tools)
195
+ - `alma_consolidate`, `alma_checkpoint`, `alma_resume`
196
+ - `alma_merge_states`, `alma_workflow_learn`
197
+ - `alma_link_artifact`, `alma_get_artifacts`
198
+ - `alma_cleanup_checkpoints`, `alma_retrieve_scoped`
199
+
200
+ - **TypeScript SDK v0.6.0** (`packages/alma-memory-js/`)
201
+ - Full workflow API parity with Python SDK
202
+ - 9 new methods: `consolidate()`, `checkpoint()`, `resume()`, `mergeStates()`, `workflowLearn()`, `linkArtifact()`, `getArtifacts()`, `cleanupCheckpoints()`, `retrieveScoped()`
203
+ - 25+ new TypeScript types for workflow context
204
+ - Published to GitHub Packages: `@rbkunnela/alma-memory`
205
+
206
+ ### Previous Releases
207
+
208
+ <details>
209
+ <summary>v0.5.0 - Vector Database Backends</summary>
210
+
211
+ - **Qdrant Backend** - Full vector similarity search with metadata filtering
212
+ - **Pinecone Backend** - Serverless spec support, namespace organization
213
+ - **Chroma Backend** - Persistent, client-server, and ephemeral modes
214
+ - **Graph Database Abstraction** - Neo4j, Memgraph, Kuzu, In-memory backends
215
+ - **Testing Module** - MockStorage, MockEmbedder, factory functions
216
+ - **Memory Consolidation Engine** - LLM-powered deduplication
217
+ - **Event System** - Webhooks + in-process callbacks
218
+ - **TypeScript SDK** - Initial release with core API
219
+ - **Multi-Agent Memory Sharing** - inherit_from, share_with
220
+
221
+ </details>
142
222
 
143
223
  See [CHANGELOG.md](CHANGELOG.md) for the complete history.
144
224
 
@@ -194,11 +274,15 @@ pip install alma-memory[azure] # Azure Cosmos DB + Azure OpenAI
194
274
  pip install alma-memory[all]
195
275
  ```
196
276
 
197
- **TypeScript/JavaScript:**
277
+ **TypeScript/JavaScript (via GitHub Packages):**
198
278
  ```bash
199
- npm install alma-memory
279
+ # Configure npm for the scope (one-time)
280
+ echo "@rbkunnela:registry=https://npm.pkg.github.com" >> ~/.npmrc
281
+
282
+ # Install
283
+ npm install @rbkunnela/alma-memory
200
284
  # or
201
- yarn add alma-memory
285
+ yarn add @rbkunnela/alma-memory
202
286
  ```
203
287
 
204
288
  ---
@@ -241,7 +325,7 @@ alma.learn(
241
325
  ### TypeScript/JavaScript
242
326
 
243
327
  ```typescript
244
- import { ALMA } from 'alma-memory';
328
+ import { ALMA } from '@rbkunnela/alma-memory';
245
329
 
246
330
  // Create client
247
331
  const alma = new ALMA({
@@ -434,14 +518,23 @@ Capture entity relationships for complex reasoning:
434
518
  ```python
435
519
  from alma.graph import create_graph_backend, BackendGraphStore, EntityExtractor
436
520
 
437
- # Create graph backend (Neo4j for production, memory for testing)
521
+ # Create graph backend - multiple options available:
522
+
523
+ # Neo4j (production, hosted)
438
524
  backend = create_graph_backend(
439
525
  "neo4j",
440
526
  uri="neo4j+s://xxx.databases.neo4j.io",
441
527
  username="neo4j",
442
528
  password="your-password"
443
529
  )
444
- # Or for testing:
530
+
531
+ # Memgraph (high-performance, in-memory)
532
+ # backend = create_graph_backend("memgraph", uri="bolt://localhost:7687")
533
+
534
+ # Kuzu (embedded, no server required)
535
+ # backend = create_graph_backend("kuzu", database_path="./my_graph_db")
536
+
537
+ # In-memory (testing)
445
538
  # backend = create_graph_backend("memory")
446
539
 
447
540
  # Create store with backend
@@ -516,9 +609,10 @@ python -m alma.mcp --config .alma/config.yaml
516
609
  }
517
610
  ```
518
611
 
519
- **Available MCP Tools:**
520
- | Tool | Description |
521
- |------|-------------|
612
+ **Available MCP Tools (16 total):**
613
+
614
+ | Core Tools | Description |
615
+ |------------|-------------|
522
616
  | `alma_retrieve` | Get memories for a task |
523
617
  | `alma_learn` | Record task outcome |
524
618
  | `alma_add_preference` | Add user preference |
@@ -527,6 +621,18 @@ python -m alma.mcp --config .alma/config.yaml
527
621
  | `alma_stats` | Get memory statistics |
528
622
  | `alma_health` | Health check |
529
623
 
624
+ | Workflow Tools (v0.6.0) | Description |
625
+ |-------------------------|-------------|
626
+ | `alma_consolidate` | Merge similar memories |
627
+ | `alma_checkpoint` | Save workflow state |
628
+ | `alma_resume` | Resume from checkpoint |
629
+ | `alma_merge_states` | Merge parallel agent states |
630
+ | `alma_workflow_learn` | Learn with workflow context |
631
+ | `alma_link_artifact` | Link output to workflow |
632
+ | `alma_get_artifacts` | Get workflow artifacts |
633
+ | `alma_cleanup_checkpoints` | Clean old checkpoints |
634
+ | `alma_retrieve_scoped` | Scoped memory retrieval |
635
+
530
636
  ---
531
637
 
532
638
  ## Advanced Features
@@ -657,7 +763,7 @@ print(f"Recommendation: {signal.recommendation}")
657
763
 
658
764
  ```
659
765
  +-------------------------------------------------------------------------+
660
- | ALMA v0.5.0 |
766
+ | ALMA v0.6.0 |
661
767
  +-------------------------------------------------------------------------+
662
768
  | HARNESS LAYER |
663
769
  | +-----------+ +-----------+ +-----------+ +----------------+ |
@@ -693,9 +799,12 @@ print(f"Recommendation: {signal.recommendation}")
693
799
  | +---------------+ +------------------+ +---------------+ |
694
800
  +-------------------------------------------------------------------------+
695
801
  | GRAPH LAYER |
696
- | +---------------+ +------------------+ |
697
- | | Neo4j | | In-Memory | |
698
- | +---------------+ +------------------+ |
802
+ | +---------------+ +------------------+ +---------------+ |
803
+ | | Neo4j | | Memgraph | | Kuzu | |
804
+ | +---------------+ +------------------+ +---------------+ |
805
+ | +---------------+ |
806
+ | | In-Memory | |
807
+ | +---------------+ |
699
808
  +-------------------------------------------------------------------------+
700
809
  | INTEGRATION LAYER |
701
810
  | +-------------------------------------------------------------------+ |
@@ -819,6 +928,12 @@ chroma:
819
928
  | Pinecone Backend | Serverless vector DB | Done |
820
929
  | Chroma Backend | Lightweight vector DB | Done |
821
930
  | Graph Abstraction | Pluggable graph backends | Done |
931
+ | Testing Module | Mocks and factories for testing | Done |
932
+ | Workflow Context | Checkpoints, state merging, artifacts | Done |
933
+ | Session Persistence | Persistent session handoffs | Done |
934
+ | Scoped Retrieval | Filter by workflow/agent/project | Done |
935
+ | MCP Workflow Tools | 8 additional MCP tools | Done |
936
+ | TypeScript SDK v0.6.0 | Full workflow API support | Done |
822
937
 
823
938
  ---
824
939
 
@@ -850,6 +965,16 @@ docker run -p 6333:6333 qdrant/qdrant
850
965
  - Ensure `embedding_dim` in config matches your embedding provider
851
966
  - Local: 384, Azure text-embedding-3-small: 1536
852
967
 
968
+ **Memgraph connection refused**
969
+ ```bash
970
+ # Start Memgraph with Docker
971
+ docker run -p 7687:7687 memgraph/memgraph-mage
972
+ ```
973
+
974
+ **Kuzu database locked**
975
+ - Ensure only one process accesses the database at a time
976
+ - Use `read_only=True` for concurrent read access
977
+
853
978
  ### Debug Logging
854
979
 
855
980
  ```python
@@ -873,11 +998,18 @@ We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
873
998
 
874
999
  ## Roadmap
875
1000
 
876
- **Completed:**
1001
+ **Completed (v0.6.0):**
1002
+ - Workflow context layer (checkpoints, state merging, artifacts)
1003
+ - Session persistence
1004
+ - Scoped retrieval
1005
+ - MCP workflow tools (8 new tools)
1006
+ - TypeScript SDK v0.6.0 with full workflow support
1007
+
1008
+ **Completed (v0.5.0):**
877
1009
  - Multi-agent memory sharing
878
1010
  - Memory consolidation engine
879
1011
  - Event system / webhooks
880
- - TypeScript SDK
1012
+ - TypeScript SDK (initial)
881
1013
  - Qdrant, Pinecone, Chroma backends
882
1014
  - Graph database abstraction
883
1015
 
@@ -896,10 +1028,50 @@ MIT
896
1028
 
897
1029
  ---
898
1030
 
899
- ## Star History
1031
+ ## Support the Project
1032
+
1033
+ If ALMA helps your AI agents get smarter:
1034
+
1035
+ - **Star this repo** - It helps others discover ALMA
1036
+ - **[Buy me a coffee](https://buymeacoffee.com/aiagentsprp)** - Support continued development
1037
+ - **[Sponsor on GitHub](https://github.com/sponsors/RBKunnela)** - Become an official sponsor
1038
+ - **Contribute** - PRs welcome! See [CONTRIBUTING.md](CONTRIBUTING.md)
1039
+
1040
+ ---
1041
+
1042
+ ## Links
900
1043
 
901
- If ALMA helps your AI agents get smarter, consider giving us a star!
1044
+ - **Documentation:** [alma-memory.pages.dev](https://alma-memory.pages.dev)
1045
+ - **PyPI:** [pypi.org/project/alma-memory](https://pypi.org/project/alma-memory/)
1046
+ - **npm:** [@rbkunnela/alma-memory](https://github.com/RBKunnela/ALMA-memory/pkgs/npm/alma-memory)
1047
+ - **Issues:** [GitHub Issues](https://github.com/RBKunnela/ALMA-memory/issues)
902
1048
 
903
1049
  ---
904
1050
 
905
1051
  **Built for AI agents that get better with every task.**
1052
+
1053
+ *Created by [@RBKunnela](https://github.com/RBKunnela)*
1054
+
1055
+ ---
1056
+
1057
+ ## Technical Documentation
1058
+
1059
+ For detailed technical reference including architecture diagrams, API specifications, storage backend configuration, and performance tuning, see the **[Technical Documentation](docs/TECHNICAL.md)**.
1060
+
1061
+ ---
1062
+
1063
+ ## Share ALMA
1064
+
1065
+ Help other developers discover ALMA:
1066
+
1067
+ - **Twitter/X:** "Just found @ALMA_Memory - finally an AI agent memory framework that actually works. Scoped learning, anti-patterns, multi-agent sharing. Way better than Mem0. https://alma-memory.pages.dev"
1068
+ - **LinkedIn:** Share how ALMA improved your AI agent workflows
1069
+ - **Reddit:** Post in r/MachineLearning, r/LocalLLaMA, r/ClaudeAI, r/artificial
1070
+ - **Hacker News:** Submit the landing page - we'd love your upvotes!
1071
+ - **Dev.to / Medium:** Write about your experience using ALMA
1072
+
1073
+ ---
1074
+
1075
+ ## Keywords
1076
+
1077
+ *AI agent memory, persistent memory for LLMs, Mem0 alternative, LangChain memory replacement, agent learning framework, MCP memory server, Claude Code memory, vector database for agents, pgvector memory, Qdrant memory, Pinecone memory, multi-agent memory sharing, AI memory architecture, semantic memory for AI, long-term memory AI agents, memory-augmented AI, retrieval-augmented generation, RAG memory, agentic memory system*
@@ -0,0 +1,112 @@
1
+ alma/__init__.py,sha256=_bZaMlmOR9vgS8HfgCiHwFLuCsSRmC3JkJhCaJniSWM,6559
2
+ alma/core.py,sha256=z4V7mJdGT9q215Rq8Seu8Oz8tQbMS5nqFxABGuUhIRo,38687
3
+ alma/exceptions.py,sha256=W7vPLnvNBdrPBRdMZZk07V6ijr7NCvNgaCTGFeMMEOc,922
4
+ alma/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
+ alma/types.py,sha256=5h_ei72sybvAHj5nWWyvjTlbqEDtvs19fH8TcnVGvOg,9354
6
+ alma/compression/__init__.py,sha256=xoh-NIYAS5-gw5Fjcz1vF5UxXgBxMsG27QX_c5E3GjA,870
7
+ alma/compression/pipeline.py,sha256=Naf4MUns0IzqOTi8VdpUn98pVxXqS7K8842UhYp5SGM,32945
8
+ alma/confidence/__init__.py,sha256=yWoIOK_9kLBa7UqHXsEY5CXpt7sWW8-10PONKY5IXvM,1247
9
+ alma/confidence/engine.py,sha256=EBgPCek30pwgAkG-NDC1YXS-MMm8Ns07OsOwY002pxc,18750
10
+ alma/confidence/types.py,sha256=FMHk3T9kz50ps59NePUIkHth6AG1UGJlsfsWtXwMcsk,11903
11
+ alma/config/__init__.py,sha256=MQ7zjiIFlUnjeI_Nxn4ig0HAmYeUuS7_FVNjYi8Ik3A,99
12
+ alma/config/loader.py,sha256=fJRm-1HapFFnmINl7O3lkz6bbVsVLgxNsDfZ_LQW8rU,5032
13
+ alma/consolidation/__init__.py,sha256=vJUbsnwtw43bF_SdsF8IWg3xkhhq8wJY2-OnKoxqJ9k,632
14
+ alma/consolidation/engine.py,sha256=f6rVMxNnZj8ahTrynemGaKOdfKEJpchK2BDybCLI7uA,23998
15
+ alma/consolidation/prompts.py,sha256=3n6T9kWQ5tBH8i0nhHKVt1i88Q6uDxPY7PjNpTH3jfA,3104
16
+ alma/domains/__init__.py,sha256=isopx2FNlmNYQPzdZfZtSOHS7hSjfP8n8AuRM1ZVWYg,653
17
+ alma/domains/factory.py,sha256=49mMGeyFWWb1mYjNwuIj9hz1xmAEgANIl1xRus2qGng,11197
18
+ alma/domains/schemas.py,sha256=qeyqyz04Iunfn31ybEtAl5lEhBHki1Bz5e6nF5k8ytw,13624
19
+ alma/domains/types.py,sha256=k7zhznXtqiC1yHd9su-EjHSAPccuiGt67yc88sqHPa8,9299
20
+ alma/events/__init__.py,sha256=4LkMCB93n6Vbc9b91fSVQIly4_sEyMAl-V-sI0OwlQc,1823
21
+ alma/events/emitter.py,sha256=Vmd5-Xl2D9oGXCbjBcb3mrgNpvn-KfpfI2jBLf5gmPY,9101
22
+ alma/events/storage_mixin.py,sha256=-cj_3kQTLUo32Z2bQz6MVBtWTlTmQFVt5zs51CR0Ay4,7900
23
+ alma/events/types.py,sha256=SHvHXMNyyAOcIVPIsh5HBPOlbPLkXTDOVg-PFq_aKXU,3921
24
+ alma/events/webhook.py,sha256=QnK38mt6u0QPa9PorQNXKEpIonm6JKd9nF1Qvqh-_zs,13408
25
+ alma/extraction/__init__.py,sha256=jL9GGiRQIFJgU-5c7S9alhqOdPfm0tCyfTeBV10MyVA,628
26
+ alma/extraction/auto_learner.py,sha256=8W8e-GHIqJHaVNVQdwH4khRrPd3m_cZCIppOA2p5JC8,9420
27
+ alma/extraction/extractor.py,sha256=xG9z4lsR_DCacBZUIxkeW_HcNAO-Y7DbIR5Vu1Yyz7I,13580
28
+ alma/graph/__init__.py,sha256=FSY9ZLYPTzeHkfWncnP6ofcDyIcPsg8WgUwjF9rM8U8,2779
29
+ alma/graph/base.py,sha256=N3yusMR2csadsCoPeNmz2h0LEDX0vQRIxw4A0Tm-2uo,4201
30
+ alma/graph/extraction.py,sha256=Dx2hw206JqyfQlkMR18KPHnS-CxU2Lq5AgjQfa7FdW8,6261
31
+ alma/graph/store.py,sha256=Ma35Bw3HT_Zv4Sog27FJn2THbIn992oOgp_2_5-iGAQ,29310
32
+ alma/graph/backends/__init__.py,sha256=2ZJga2RUxJXNRc9_m4wIpOlJfcureNcsWCuEKdI-Fr4,902
33
+ alma/graph/backends/kuzu.py,sha256=4LZNIfn6_z3EcEvYLjYBf5X3mThcok8tL0vQxQg7TFo,21796
34
+ alma/graph/backends/memgraph.py,sha256=eI12UQM_p-Anv7oddzcEEDm3m4E3KVla2_uunuMhGpc,15677
35
+ alma/graph/backends/memory.py,sha256=hkTlwbL4RP6fv1LHWnD967h4WkJ24CVv4Y5MTAiSTl4,8454
36
+ alma/graph/backends/neo4j.py,sha256=EAKaXhrRKBWVL_uR8w3NuWIczAoqC_DG0DjbWGaVU_U,14764
37
+ alma/harness/__init__.py,sha256=W8-5uoOKkQQEbiKauR_IBGvs8uknwimQhw2HHL7poXM,719
38
+ alma/harness/base.py,sha256=7esbRcqWE2cdP0gUj0x7kfH9jFPgys8hAFBGSLW9yPM,11592
39
+ alma/harness/domains.py,sha256=3_L0F9WTiI2c4PRYkq-9SOehqIFAPRv7uoxFQ60wRyI,26631
40
+ alma/initializer/__init__.py,sha256=CHjCxKS6uF8caUYKZZk0pwB58Ql1OaUClrE_T8ANVWg,863
41
+ alma/initializer/initializer.py,sha256=lMcrDB1MuMvDPST4v2cZIZ02zOjDWeIOoBFLBLubLEo,13622
42
+ alma/initializer/types.py,sha256=6lmzvp6HIerSTOjB30ZeHt7xHpX0jCSZJeB5KbahxGU,8125
43
+ alma/integration/__init__.py,sha256=1f3PToFMHMRj3p1HsgefFZnpDM2x2FUcAoQF9PqfXGI,1338
44
+ alma/integration/claude_agents.py,sha256=659tJA4S6-d8cDXhhs5bPB8Zj9_v-avErQEtMf1XtQo,14091
45
+ alma/integration/helena.py,sha256=NnVg1kOg8DM2_013pRkSX3o9AdomBccIlHpTQwZbD-c,12522
46
+ alma/integration/victor.py,sha256=fBA85WGVl0oIFWAXjfPcVDx8UY4Mp27pToICLJ5GB8E,13998
47
+ alma/learning/__init__.py,sha256=kUQGsrJ9pRdlbfKRXZqFrrgGSkHI-Voro3MXyGRedCA,2324
48
+ alma/learning/decay.py,sha256=Kd5sA0VPX7oNwfjJpKeojhzmoMDrxaUqMfXVFYxmQSs,29849
49
+ alma/learning/forgetting.py,sha256=pJ_ebmu6uhX7jna2HD2iencMvAZ6uhLvhMJ0KLQJz5s,47992
50
+ alma/learning/heuristic_extractor.py,sha256=5_yAu-TOppKykpxdaMdTE4MqzPODGgIioyrx586ISiE,12474
51
+ alma/learning/protocols.py,sha256=AU09gRG0W2skyng5F7Cbp6kN9K5NJgeU7lRKWKGEMhg,12613
52
+ alma/learning/validation.py,sha256=4SNdFyvDy3SnxhU2NcvsHG5TEXABot1o0Z-hHfrI7Eo,11411
53
+ alma/mcp/__init__.py,sha256=LhgVkx56gE13GPGgvGyeY6_ecTkVDM_Vo5lUNWrIs78,3411
54
+ alma/mcp/__main__.py,sha256=wR1BEbGVr84DM6AXxmthTiv4uPCgSX44IQoLLZfUuXA,4110
55
+ alma/mcp/resources.py,sha256=H73t--6yzAiF_UTqFNVfk57wsT4lMhj_icL_UzkcbVQ,3621
56
+ alma/mcp/server.py,sha256=6mcPLN7Ei3-sWetd3SBviUzceBroBPLrSzXSwmQJW0k,39044
57
+ alma/mcp/tools.py,sha256=jVMPXRG0KT88yMFtwZHZw0lT6gXhGegJJZK5RI46iWo,105432
58
+ alma/observability/__init__.py,sha256=9I9WeD98KRHzs2INgt1vxZrZ7TyKOu96_1AmGRWcey4,2095
59
+ alma/observability/config.py,sha256=yBaR7ot2osPzXv8mVG0s1H-MZ6SC9vaJsUOsjIMIqnU,10725
60
+ alma/observability/guidelines.py,sha256=SE-clEKe1kV3CJZpeLXgVkivFR1DikO-TRhKwprXIbE,5579
61
+ alma/observability/logging.py,sha256=4ESVijX7eQ6d-eECJZ1Ad6ufoYhAX2WMkkciBZDX_Fw,12699
62
+ alma/observability/metrics.py,sha256=tP6l81C5PMCRGkXTK4furuZN5YeP42GK5M3nJ8Tj6I4,18290
63
+ alma/observability/tracing.py,sha256=WFBlx1bae3tYomn0-w1fmwJBuT6hY196ce7azjc_TwQ,13740
64
+ alma/progress/__init__.py,sha256=bk4aX6KyJLbNGUkKxw3G4dLBK4c-GMsedzU1g2NmWAA,392
65
+ alma/progress/tracker.py,sha256=dbN6efPE3pXAYYnWEabkaKBy35ZLho6tzET2HUrm6do,19900
66
+ alma/progress/types.py,sha256=RqiLSG9buA32NLXN-b3APk2deqrdvOS7-wQiwWu0WF0,7276
67
+ alma/retrieval/__init__.py,sha256=yJ91GdBhowzqU9yab7tX9OreBozgshzM3yMZNSVOwEU,3092
68
+ alma/retrieval/budget.py,sha256=go9bGMqSeU9BldFk9ZSzZPxMle3kiYya8i4C2fcOoJ0,17699
69
+ alma/retrieval/cache.py,sha256=05WP5D_oBaSw4Go5uVBWpjZmOi5Y8nHyETe48SVTUdI,44027
70
+ alma/retrieval/embeddings.py,sha256=3eYXnKZOGviA8Z-IhxZPcFPdGsa7oQPIYqL2mkkAgCY,6698
71
+ alma/retrieval/engine.py,sha256=jeXD3Lg5RMzy_Li9E1QPjeQxFUJWD_0MxfKZcvndqC8,32562
72
+ alma/retrieval/modes.py,sha256=UTJQdIca75KeB5qgc3egCXmXoaSiQaHow7ZYuBhln7Y,10838
73
+ alma/retrieval/progressive.py,sha256=7BfpE1AjXePdCB1gvnoeXpXaFU2YhVvRo1fp5RI4ic0,18939
74
+ alma/retrieval/scoring.py,sha256=dOOPjoLOEL9ioSYnrBfRY_wSraXRBNXp3CL8mwKnkWs,10694
75
+ alma/retrieval/trust_scoring.py,sha256=6wyD_bCr9WKCrA-0VVDfRLK7u4ps2P1jHdmZXQw41Wk,20356
76
+ alma/retrieval/verification.py,sha256=gulqhLki9kYdrEj8oP-Y-4rgdKB1Ewygie_XMRdRDWo,28232
77
+ alma/session/__init__.py,sha256=lN8rGYGOrP_hb_UDTvqueLRZh02GPdLtCd-dAZM2qHw,371
78
+ alma/session/manager.py,sha256=2Fmpco9ftok-7cuI4LCXQpzYEnY-G0CN3f0cqAByKVU,14947
79
+ alma/session/types.py,sha256=dZux3F0RyyV93iYwE59lAIu6I6GF9kmlDpe2gqp2A3M,9789
80
+ alma/storage/__init__.py,sha256=i7XZdUrFY3oApWqcCNimCUTW3nqAwdGtAGCxpS9Zfkg,2519
81
+ alma/storage/archive.py,sha256=duLDcQT-TNISqiY9qRcSenftUz4uvikyTDZhgZOLVsc,8286
82
+ alma/storage/azure_cosmos.py,sha256=GtfPwKf4rsD5xRb_LiqHNLhpVHI1_AHveoJHe-KUREE,46115
83
+ alma/storage/base.py,sha256=B2m8sU1n7nacS_vj3rYkwLFD_SoFTGTguQ9qSpSjMFA,32079
84
+ alma/storage/chroma.py,sha256=ym5IMNegzhrImJcywd9HG09ww8NN9J-eUJQgKliMNsQ,52675
85
+ alma/storage/constants.py,sha256=wJyT3q03KphqEYLFljKAKxrD7365VEg3vdOxc_0Dg_Y,2973
86
+ alma/storage/file_based.py,sha256=M25k4Ukixs_TTXW4SMcSx1EOlqkhKQgzxTB_CSLuVro,22660
87
+ alma/storage/pinecone.py,sha256=jsiracBwW6kHRQR6JFfz4M8L41v2V1R7Uz8oIqfurqI,38992
88
+ alma/storage/postgresql.py,sha256=Ccp4qPA071WQiyLvCabR2Wa65cvss30fnnXu65Copqs,77547
89
+ alma/storage/qdrant.py,sha256=dw7ZnsztOJIIDeWF6IOWzlkUrZNY8iMkkbXV-Sf3XeU,44766
90
+ alma/storage/sqlite_local.py,sha256=-bP-eGzkar6vk4PDoRiMxeL2EJXfAK3hrJRY6-M8Xrc,115112
91
+ alma/storage/migrations/__init__.py,sha256=6gVI6wEn7i5i95ImgBCNZenjnaqrnNRUpmA_Up1qcpA,443
92
+ alma/storage/migrations/base.py,sha256=O9GD9RKjpYzzRBYhyw5VGF2FmEkos8lXojODB6z8pB0,9289
93
+ alma/storage/migrations/runner.py,sha256=__Ra-TMUQ5bg5SQBFP44lEE9A0MOkpJzInjDLoKEZfw,10520
94
+ alma/storage/migrations/version_stores.py,sha256=Nh7Z1zsJ-4LbOyRqApzPDR3JN1bp8EaID5sbnxegmW0,11739
95
+ alma/storage/migrations/versions/__init__.py,sha256=ULVr5RK9tHsRUMzgemFoU67INwfRhaHrS7rMgRC6i54,363
96
+ alma/storage/migrations/versions/v1_0_0.py,sha256=j6zuJ7psT3dg8dTtM7Ikq9op58QQ7QXs_8w_98GeSi0,13126
97
+ alma/storage/migrations/versions/v1_1_0_workflow_context.py,sha256=lStO4R4s0Q_Bb3-XQ_NRNHJkPlU4sfIUC-VPFUCsF7Y,20118
98
+ alma/testing/__init__.py,sha256=W_gHsG8lysR3D_DfHX6O2tj2rgMLDuzhg-utkm9RM1M,1366
99
+ alma/testing/factories.py,sha256=oeEq93nKJp8P4QEJngJQBEaTO784SPpOAt66UgMk6jk,10047
100
+ alma/testing/mocks.py,sha256=faODn5srvV-GFkguZe7-TlXWgL7F2vwQ_U936MSsoYc,12710
101
+ alma/utils/__init__.py,sha256=pULy_EZ_mNpqYMXIDEGZXrm8G3TUxOum1x4ke3pWRKQ,384
102
+ alma/utils/tokenizer.py,sha256=8lCVTbFfL6WakyF-SZBsi_PBQSJn0fxDwmL5-yST_CY,16118
103
+ alma/workflow/__init__.py,sha256=8IJjz8L1FCxftgLcM9yTrPibMhSA5IeYY0LrwCXtLZ8,1616
104
+ alma/workflow/artifacts.py,sha256=S9HqyhVWIqYNrq9WRFDWtmxQZbMJEoUo4v02Hr9fJRc,5157
105
+ alma/workflow/checkpoint.py,sha256=nrzgDUp2RVFSWXHMkkdyJR-Fg1AchzfehVEwHxnZ5-Q,10332
106
+ alma/workflow/context.py,sha256=dIZMQOlpfFaZcKp4jIH_7Whj1uYM4rPCYBw6qSUV_Uo,7883
107
+ alma/workflow/outcomes.py,sha256=g-sSCm2azB3fTt-B3kNwTGYu8rkkUdDx7LaVt9ID72U,7014
108
+ alma/workflow/reducers.py,sha256=UJPFx0gUvde9Je5aANCqXmPuE9E4RytPHRj_3vwqXKI,10106
109
+ alma_memory-0.7.0.dist-info/METADATA,sha256=GPNme6fzqgBR456fmcGcqhX1vnC5_fL6FQiiq9BQMDE,36741
110
+ alma_memory-0.7.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
111
+ alma_memory-0.7.0.dist-info/top_level.txt,sha256=5oN68LXctTl8a8i1LA-5WqSaP-pDA-J0x1AfCFfLm4A,5
112
+ alma_memory-0.7.0.dist-info/RECORD,,
@@ -1,76 +0,0 @@
1
- alma/__init__.py,sha256=XJ-yrVNtw5A12ZU5Yc16h5_m7eDdiTnpQRqn9YCkFas,3932
2
- alma/core.py,sha256=AwTiX44nWk_Es3Sz5jR6nyF64-8O6j9Btjqsn7fcxJg,9688
3
- alma/exceptions.py,sha256=chGNPmOUWJnx-9-fAtBZIBLBeFmINTHuzqsejt_rrk4,873
4
- alma/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- alma/types.py,sha256=708rjkZwOfI7PgvfK0N2UyIMpjzi6Jf0vVilfEyWKbM,8167
6
- alma/confidence/__init__.py,sha256=-XvCT7gmO5ewWvUAPhZb4XBZN2tw4OGUMMz3FHTzrSw,1200
7
- alma/confidence/engine.py,sha256=LunulwFhvV8TJ4mO73jrTY75Bhid4d9TfSP53CyylqI,18210
8
- alma/confidence/types.py,sha256=iIzJ1QnU4RMBtD6LIVNPsjVs-PC4pFO_72O40axfgRc,11552
9
- alma/config/__init__.py,sha256=MQ7zjiIFlUnjeI_Nxn4ig0HAmYeUuS7_FVNjYi8Ik3A,99
10
- alma/config/loader.py,sha256=v9MLfYcxrrb1qD3yfjczaSzAwXFl56eVrmzCe6_f00Y,4875
11
- alma/consolidation/__init__.py,sha256=XGUL6AwOsjXx2kuTb5PdDTDGoqSyBbjBC_ppuymCcgU,609
12
- alma/consolidation/engine.py,sha256=i7YI4nji0SrrnRSqUCHOP8_Cg4ttVeXPuPS4EUazAP0,23320
13
- alma/consolidation/prompts.py,sha256=KKkTAliVjf-blzkej1REQUsNh533LIdXsJz-mbHJCx8,3020
14
- alma/domains/__init__.py,sha256=QBVMKWOGVWXA98RiHv-fPjOKczwG5Y7wS1yQQqO3BTQ,623
15
- alma/domains/factory.py,sha256=UZRYnI5jL7gT_8e0BQKcdQeSpmOxsusxWh4g26ybHCY,10838
16
- alma/domains/schemas.py,sha256=ByworPVE_JiUh84vTwxGlQY3f0ID4nnGzuTuus45Ga0,13176
17
- alma/domains/types.py,sha256=E5jyQdUA2MbxJUkaKDJhDw6vmdtlbDOfvdArSIUkdrg,9027
18
- alma/events/__init__.py,sha256=UbmiG_fB9gXYcjBZhfwYuTyY2b85uKA5gxuCivstf1o,1748
19
- alma/events/emitter.py,sha256=lpczJvIfU2S8nuJ-t26PcZ3Lvf2KT0NikSR-lNq_0FA,8801
20
- alma/events/storage_mixin.py,sha256=t4Y1BCv3CTz_0FoJtAblf4s_qIWK3hrNAH4CLqc2DTo,7654
21
- alma/events/types.py,sha256=DGJe8W5DNs8SHYRbwdgV7OoRF952HoEVz0T9dv5A-LA,3795
22
- alma/events/webhook.py,sha256=eavcXDTYKYu3GueDrAd0L8JFUkLczjNgmZJpiia0Rvw,12983
23
- alma/extraction/__init__.py,sha256=2ZYxMAjjbgvWvtMn4flCsFla7OSR45bMtuUDuRRlG9E,597
24
- alma/extraction/auto_learner.py,sha256=B7qMcJ-wR69aHaYPr9D8SURBAAkwq4AXhJ44nJhED2Y,9117
25
- alma/extraction/extractor.py,sha256=2VC4tcnHAF1zjax7MI09jb9Q3dUmWxFeBLOMd-7Aj1E,13160
26
- alma/graph/__init__.py,sha256=KyC2wWBN9bivwL7yDOpkKfMXOSU8zLFFurMS2BxfReE,1903
27
- alma/graph/base.py,sha256=A3yqNI4DiY0D3MuNaa6Sv41hfzzqwrs38ahs6qcaD-g,4042
28
- alma/graph/extraction.py,sha256=Esb4jRHAJxE3QRutSpasMmRKq_MMDQtcMOnHeahLcZY,6063
29
- alma/graph/store.py,sha256=V9KjfFaKagOxD2FYITrjnQgDdu9U2z4wetHBnXhqROc,28450
30
- alma/graph/backends/__init__.py,sha256=IKewfN2G0QJfmPBJePHCkfVILq1PY5ehggMeJziX_Os,421
31
- alma/graph/backends/memory.py,sha256=qdb8ixGHZKMqs6673sCJORteD6KaTLDpXhs8fJS2oQs,8218
32
- alma/graph/backends/neo4j.py,sha256=gSL813Et0lEx8zrLv6R5mgq651ZMcnJPN__iPhF561o,14347
33
- alma/harness/__init__.py,sha256=ZuORMt41ArCXlLcrpaCuHW3BUvH27YcxWRnqQ6ZXiMo,684
34
- alma/harness/base.py,sha256=8t44wBD8tL8Zb14PVnxHjOei_3ATieiVNNbVu3c0mz4,11206
35
- alma/harness/domains.py,sha256=0U81P7DYfWw7bGV8MmngICU5ZCsdeA6coc7p-PABLE8,25926
36
- alma/initializer/__init__.py,sha256=VhG5hSgdselyToBnvixcyjrTtsnNhVvWdi7kfUVc0RM,826
37
- alma/initializer/initializer.py,sha256=2SyHgreopClPQ0loyA29lcJp_pK1ssubK2529cQk8hc,13204
38
- alma/initializer/types.py,sha256=ADeWwyqiG9uI0DkukDNGA81JNeCPfY6m__LsKgXQmZA,7875
39
- alma/integration/__init__.py,sha256=YhJSurb10eOlh227HqqgCtzayDljbmjI2dn347HVua0,1276
40
- alma/integration/claude_agents.py,sha256=-256HWoG7Z-g6Kgx21QBnEa_GBpkZ37fr9NwiJH67Ec,13263
41
- alma/integration/helena.py,sha256=BcTvac8vGmbHwogAbNMQsZssMOlBT-DxwLKWPfPXie4,12099
42
- alma/integration/victor.py,sha256=DR_6RLj1hpNHnTUC5jhWo59WQr7qDF6VOtn98cyxhoo,13527
43
- alma/learning/__init__.py,sha256=XH3H-vEMY1TOBQxiC3H6c_iWtzR8xrQH9PqQL1vv6b4,1870
44
- alma/learning/forgetting.py,sha256=TSBZ0Ad8hJEIPXteXse78czyPQBDEiPgNAvkH__e9bg,46546
45
- alma/learning/heuristic_extractor.py,sha256=FO-TIS1NQZUdQXuD924-2odw7GQETRxchxjxk-fzYGs,12084
46
- alma/learning/protocols.py,sha256=0x3wi4xeMRBBJVRJ-9mXIemFirQfh1-pM7-9Apz2Kho,12229
47
- alma/learning/validation.py,sha256=i_-TmoDyBXVHjAiEQnb1QtliuLxNsbxwud3C0IoaHjY,11065
48
- alma/mcp/__init__.py,sha256=Qr913n8XG02abbBs78mMKKLo3VzVJMt71TehAhuhqrE,947
49
- alma/mcp/__main__.py,sha256=ySdPB2MK-Mau6ofOlAsIv-jIXuyMpUpJuoNbj-GEqwA,3954
50
- alma/mcp/resources.py,sha256=5YxoTCgzBzFoP07US_ZuBPnrL7F0t9WAX5Cins7XJf8,3499
51
- alma/mcp/server.py,sha256=5qBk35JDvWwh6e8xNl7mj_L7O3NpfeRkPqo_Mm7k7pk,21541
52
- alma/mcp/tools.py,sha256=Wwq2aFDnnSLDhTAzHbnujC4PJLvCIhqPf-_mQnwSBj0,14585
53
- alma/progress/__init__.py,sha256=0VqMDlICHRHrYFAp-HzNVaN1JikST--kFGDd7803WGk,371
54
- alma/progress/tracker.py,sha256=0E7YghcEHiw1Gorm28ON7SBOlVb7SXSHUHy8cGeMg0k,19290
55
- alma/progress/types.py,sha256=sxouhkNO6OLmDuhrPnn6uqEEwOj6nLZeRh-krgTh4nA,7026
56
- alma/retrieval/__init__.py,sha256=htuoJ-jiaUooA3bdc9DEcgfpNHlqlqGqiKgdjwq9y1Y,1006
57
- alma/retrieval/cache.py,sha256=l1VY2k6OzvrFxJfzkZ1rch9zWfl2-80pttgW_11sxbc,34585
58
- alma/retrieval/embeddings.py,sha256=XwTjPnnfW4VB9FGN3FQ_nWZ1hAaJLufXNZYbWMwkct0,6496
59
- alma/retrieval/engine.py,sha256=AH4junHgWbzWYD5kqHvcxQW_YuRfHl_dBtGbEJD4egQ,13016
60
- alma/retrieval/scoring.py,sha256=WaMu4HN5ui9y0yV8AKEcix0xvav4mvXV7rn8ihAYURw,10350
61
- alma/session/__init__.py,sha256=4LWuYdF8N5XxcmVZA8verJV5XF_eRCgU-M_0Hkfovgg,352
62
- alma/session/manager.py,sha256=U_a2_1VySD_QwJY6tyukko4pHDcxQaLzUZmgUH4I2W4,12638
63
- alma/session/types.py,sha256=VIIE330GiWAkWN4SaJhUa_BrpEdLMWIbUvTRciT6C8I,9501
64
- alma/storage/__init__.py,sha256=CwH7w9O-OGpC1osh-UxmWao6fJmmMyaGeCSpjfbrE-c,1520
65
- alma/storage/azure_cosmos.py,sha256=cw2jkATSurLmRJScIHnMFFCeknQDAep5izB_ByiwahI,35345
66
- alma/storage/base.py,sha256=jdkNCKLId99nLWrWNdSDfpu09r4Raapz245OfOaA3RA,14175
67
- alma/storage/chroma.py,sha256=Csim64cbtX_z6g2fsy91xEpnsRGQ_Llb8vu7QOOJ-lE,51218
68
- alma/storage/file_based.py,sha256=NaDytkeBRmreGsH8_F62UFiTLheuhRTSAQSAeBbuWsg,22249
69
- alma/storage/pinecone.py,sha256=dGgncFgLZUsMRAt6nnlFISDNbsTU0ZFahiTXle08eRk,37904
70
- alma/storage/postgresql.py,sha256=QLM11lrHp11hEfqbnKWVNtCU8kECy9o2Jk4fQLgKnYY,54477
71
- alma/storage/qdrant.py,sha256=We74ewKkGdLpfpsZC-40MVLkzrjJHP49xcg7t7aF1Gg,43460
72
- alma/storage/sqlite_local.py,sha256=aa4ZWqoib7y9Lma1u5ZjAzHxFAk41kgFW4PmTDm9cPI,48854
73
- alma_memory-0.5.0.dist-info/METADATA,sha256=3vFcHkpOCQb5W0ZEi6hwmWUBQh60olwkA8VNz2NfiKk,28249
74
- alma_memory-0.5.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
75
- alma_memory-0.5.0.dist-info/top_level.txt,sha256=5oN68LXctTl8a8i1LA-5WqSaP-pDA-J0x1AfCFfLm4A,5
76
- alma_memory-0.5.0.dist-info/RECORD,,