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,84 +1,84 @@
1
- """
2
- ALMA Consolidation Prompts.
3
-
4
- LLM prompts for intelligently merging similar memories.
5
- """
6
-
7
- # Prompt for merging multiple similar heuristics into one
8
- MERGE_HEURISTICS_PROMPT = """You are a memory consolidation agent. Given these similar heuristics that have been identified as near-duplicates based on semantic similarity, create a single consolidated heuristic that captures the essence of all.
9
-
10
- Similar Heuristics:
11
- {heuristics}
12
-
13
- Create a consolidated heuristic that:
14
- 1. Generalizes the condition to cover all cases
15
- 2. Combines the strategies into a comprehensive approach
16
- 3. Preserves any unique insights from individual heuristics
17
-
18
- Output a JSON object with exactly these fields:
19
- {{
20
- "condition": "The generalized condition that triggers this heuristic",
21
- "strategy": "The merged strategy combining all approaches",
22
- "confidence": <average confidence as a float between 0 and 1>
23
- }}
24
-
25
- Only output the JSON object, no other text."""
26
-
27
- # Prompt for merging similar domain knowledge
28
- MERGE_DOMAIN_KNOWLEDGE_PROMPT = """You are a memory consolidation agent. Given these similar domain knowledge facts that have been identified as near-duplicates, create a single consolidated fact that captures all the information.
29
-
30
- Similar Domain Knowledge:
31
- {knowledge_items}
32
-
33
- Create a consolidated fact that:
34
- 1. Combines all unique information
35
- 2. Removes redundancy
36
- 3. Maintains accuracy
37
-
38
- Output a JSON object with exactly these fields:
39
- {{
40
- "fact": "The consolidated fact combining all information",
41
- "confidence": <average confidence as a float between 0 and 1>
42
- }}
43
-
44
- Only output the JSON object, no other text."""
45
-
46
- # Prompt for merging anti-patterns
47
- MERGE_ANTI_PATTERNS_PROMPT = """You are a memory consolidation agent. Given these similar anti-patterns that have been identified as near-duplicates, create a single consolidated anti-pattern.
48
-
49
- Similar Anti-Patterns:
50
- {anti_patterns}
51
-
52
- Create a consolidated anti-pattern that:
53
- 1. Generalizes the pattern description
54
- 2. Combines all reasons why it's bad
55
- 3. Provides a comprehensive alternative
56
-
57
- Output a JSON object with exactly these fields:
58
- {{
59
- "pattern": "The generalized pattern to avoid",
60
- "why_bad": "Combined explanation of why this pattern is problematic",
61
- "better_alternative": "The recommended alternative approach"
62
- }}
63
-
64
- Only output the JSON object, no other text."""
65
-
66
- # Prompt for merging outcomes (typically used for summarization rather than true merge)
67
- MERGE_OUTCOMES_PROMPT = """You are a memory consolidation agent. Given these similar task outcomes, create a summary that captures the key learnings.
68
-
69
- Similar Outcomes:
70
- {outcomes}
71
-
72
- Create a summary that:
73
- 1. Identifies the common task type
74
- 2. Notes the overall success/failure pattern
75
- 3. Highlights effective strategies
76
-
77
- Output a JSON object with exactly these fields:
78
- {{
79
- "task_type": "The common task type",
80
- "summary": "Summary of the outcomes and learnings",
81
- "recommended_strategy": "The most effective strategy based on the outcomes"
82
- }}
83
-
84
- Only output the JSON object, no other text."""
1
+ """
2
+ ALMA Consolidation Prompts.
3
+
4
+ LLM prompts for intelligently merging similar memories.
5
+ """
6
+
7
+ # Prompt for merging multiple similar heuristics into one
8
+ MERGE_HEURISTICS_PROMPT = """You are a memory consolidation agent. Given these similar heuristics that have been identified as near-duplicates based on semantic similarity, create a single consolidated heuristic that captures the essence of all.
9
+
10
+ Similar Heuristics:
11
+ {heuristics}
12
+
13
+ Create a consolidated heuristic that:
14
+ 1. Generalizes the condition to cover all cases
15
+ 2. Combines the strategies into a comprehensive approach
16
+ 3. Preserves any unique insights from individual heuristics
17
+
18
+ Output a JSON object with exactly these fields:
19
+ {{
20
+ "condition": "The generalized condition that triggers this heuristic",
21
+ "strategy": "The merged strategy combining all approaches",
22
+ "confidence": <average confidence as a float between 0 and 1>
23
+ }}
24
+
25
+ Only output the JSON object, no other text."""
26
+
27
+ # Prompt for merging similar domain knowledge
28
+ MERGE_DOMAIN_KNOWLEDGE_PROMPT = """You are a memory consolidation agent. Given these similar domain knowledge facts that have been identified as near-duplicates, create a single consolidated fact that captures all the information.
29
+
30
+ Similar Domain Knowledge:
31
+ {knowledge_items}
32
+
33
+ Create a consolidated fact that:
34
+ 1. Combines all unique information
35
+ 2. Removes redundancy
36
+ 3. Maintains accuracy
37
+
38
+ Output a JSON object with exactly these fields:
39
+ {{
40
+ "fact": "The consolidated fact combining all information",
41
+ "confidence": <average confidence as a float between 0 and 1>
42
+ }}
43
+
44
+ Only output the JSON object, no other text."""
45
+
46
+ # Prompt for merging anti-patterns
47
+ MERGE_ANTI_PATTERNS_PROMPT = """You are a memory consolidation agent. Given these similar anti-patterns that have been identified as near-duplicates, create a single consolidated anti-pattern.
48
+
49
+ Similar Anti-Patterns:
50
+ {anti_patterns}
51
+
52
+ Create a consolidated anti-pattern that:
53
+ 1. Generalizes the pattern description
54
+ 2. Combines all reasons why it's bad
55
+ 3. Provides a comprehensive alternative
56
+
57
+ Output a JSON object with exactly these fields:
58
+ {{
59
+ "pattern": "The generalized pattern to avoid",
60
+ "why_bad": "Combined explanation of why this pattern is problematic",
61
+ "better_alternative": "The recommended alternative approach"
62
+ }}
63
+
64
+ Only output the JSON object, no other text."""
65
+
66
+ # Prompt for merging outcomes (typically used for summarization rather than true merge)
67
+ MERGE_OUTCOMES_PROMPT = """You are a memory consolidation agent. Given these similar task outcomes, create a summary that captures the key learnings.
68
+
69
+ Similar Outcomes:
70
+ {outcomes}
71
+
72
+ Create a summary that:
73
+ 1. Identifies the common task type
74
+ 2. Notes the overall success/failure pattern
75
+ 3. Highlights effective strategies
76
+
77
+ Output a JSON object with exactly these fields:
78
+ {{
79
+ "task_type": "The common task type",
80
+ "summary": "Summary of the outcomes and learnings",
81
+ "recommended_strategy": "The most effective strategy based on the outcomes"
82
+ }}
83
+
84
+ Only output the JSON object, no other text."""