@jungjaehoon/mama-core 1.8.1 → 2.0.0

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 (136) hide show
  1. package/dist/agent-graph/alias-write.js +3 -0
  2. package/dist/agent-graph/entity-resolve.js +3 -7
  3. package/dist/agent-graph/graph-query.js +5 -4
  4. package/dist/agent-graph/types.d.ts +30 -0
  5. package/dist/cases/store.d.ts +0 -4
  6. package/dist/cases/store.js +0 -66
  7. package/dist/cases/wiki-page-index.d.ts +0 -13
  8. package/dist/cases/wiki-page-index.js +0 -153
  9. package/dist/connectors/event-index.d.ts +1 -22
  10. package/dist/connectors/event-index.js +0 -157
  11. package/dist/context-compile/channel-grant.d.ts +46 -0
  12. package/dist/context-compile/channel-grant.js +66 -0
  13. package/dist/context-compile/compiler.js +5 -2
  14. package/dist/context-compile/index.d.ts +1 -0
  15. package/dist/context-compile/index.js +1 -0
  16. package/dist/context-compile/packet-store.d.ts +0 -1
  17. package/dist/context-compile/packet-store.js +0 -16
  18. package/dist/context-compile/source-readers.d.ts +1 -0
  19. package/dist/context-compile/source-readers.js +156 -23
  20. package/dist/context-compile/types.d.ts +17 -0
  21. package/dist/context-compile/visibility.js +28 -4
  22. package/dist/db-adapter/node-sqlite-adapter.js +4 -0
  23. package/dist/db-manager.d.ts +0 -13
  24. package/dist/db-manager.js +0 -66
  25. package/dist/decision-formatter.d.ts +0 -11
  26. package/dist/decision-formatter.js +0 -122
  27. package/dist/decision-tracker.d.ts +0 -12
  28. package/dist/decision-tracker.js +0 -50
  29. package/dist/edges/ref-validation.d.ts +1 -2
  30. package/dist/edges/ref-validation.js +33 -13
  31. package/dist/edges/store.d.ts +1 -3
  32. package/dist/edges/store.js +0 -214
  33. package/dist/edges/types.d.ts +10 -0
  34. package/dist/embedding-client.d.ts +0 -17
  35. package/dist/embedding-client.js +0 -80
  36. package/dist/embedding-server/mobile/auth.d.ts +1 -10
  37. package/dist/embedding-server/mobile/auth.js +0 -15
  38. package/dist/embeddings.d.ts +0 -12
  39. package/dist/embeddings.js +0 -68
  40. package/dist/entities/audit-metrics.d.ts +0 -5
  41. package/dist/entities/audit-metrics.js +0 -4
  42. package/dist/entities/candidate-generator.d.ts +1 -2
  43. package/dist/entities/candidate-generator.js +0 -412
  44. package/dist/entities/entity-list.d.ts +0 -1
  45. package/dist/entities/entity-list.js +0 -96
  46. package/dist/entities/entity-orphan-list.d.ts +0 -9
  47. package/dist/entities/entity-orphan-list.js +0 -88
  48. package/dist/entities/entity-search.d.ts +0 -1
  49. package/dist/entities/entity-search.js +0 -147
  50. package/dist/entities/errors.d.ts +0 -10
  51. package/dist/entities/errors.js +1 -25
  52. package/dist/entities/lineage-store.d.ts +0 -23
  53. package/dist/entities/lineage-store.js +0 -104
  54. package/dist/entities/policy-store.d.ts +0 -9
  55. package/dist/entities/policy-store.js +0 -188
  56. package/dist/entities/provenance-query.d.ts +0 -1
  57. package/dist/entities/provenance-query.js +0 -164
  58. package/dist/entities/resolution-engine.d.ts +1 -8
  59. package/dist/entities/resolution-engine.js +0 -66
  60. package/dist/entities/rollback-preview.d.ts +0 -4
  61. package/dist/entities/rollback-preview.js +0 -232
  62. package/dist/entities/store.d.ts +1 -10
  63. package/dist/entities/store.js +0 -49
  64. package/dist/index.d.ts +15 -31
  65. package/dist/index.js +4 -46
  66. package/dist/mama-api.d.ts +19 -1
  67. package/dist/mama-api.js +97 -2
  68. package/dist/memory/api.d.ts +9 -0
  69. package/dist/memory/api.js +68 -4
  70. package/dist/memory/event-store.d.ts +0 -1
  71. package/dist/memory/event-store.js +0 -15
  72. package/dist/memory/finding-store.d.ts +0 -1
  73. package/dist/memory/finding-store.js +0 -12
  74. package/dist/memory/scope-backfill.d.ts +0 -3
  75. package/dist/memory/scope-backfill.js +0 -74
  76. package/dist/memory/scope-store.d.ts +0 -1
  77. package/dist/memory/scope-store.js +0 -4
  78. package/dist/memory/truth-store.d.ts +0 -3
  79. package/dist/memory/truth-store.js +0 -22
  80. package/dist/memory/types.d.ts +0 -1
  81. package/dist/memory/types.js +0 -13
  82. package/dist/memory-store.d.ts +0 -16
  83. package/dist/memory-store.js +0 -51
  84. package/dist/ollama-client.d.ts +0 -9
  85. package/dist/ollama-client.js +0 -125
  86. package/dist/outcome-tracker.d.ts +0 -14
  87. package/dist/outcome-tracker.js +0 -44
  88. package/dist/progress-indicator.d.ts +0 -4
  89. package/dist/progress-indicator.js +0 -7
  90. package/dist/provenance/source-ref.d.ts +0 -9
  91. package/dist/provenance/source-ref.js +0 -145
  92. package/dist/query-intent.d.ts +0 -4
  93. package/dist/query-intent.js +0 -30
  94. package/dist/relevance-scorer.d.ts +0 -9
  95. package/dist/relevance-scorer.js +0 -81
  96. package/dist/search/feedback-store.d.ts +0 -1
  97. package/dist/search/feedback-store.js +0 -4
  98. package/dist/search/ranker-rescore.d.ts +0 -3
  99. package/dist/search/ranker-rescore.js +0 -27
  100. package/dist/search/ranker-trainer.d.ts +0 -8
  101. package/dist/search/ranker-trainer.js +0 -376
  102. package/dist/tier-validator.d.ts +0 -12
  103. package/dist/tier-validator.js +0 -56
  104. package/package.json +1 -10
  105. package/dist/cases/case-links.d.ts +0 -116
  106. package/dist/cases/case-links.js +0 -794
  107. package/dist/cases/composition-overrides.d.ts +0 -90
  108. package/dist/cases/composition-overrides.js +0 -724
  109. package/dist/cases/corrections.d.ts +0 -156
  110. package/dist/cases/corrections.js +0 -1045
  111. package/dist/cases/freshness.d.ts +0 -57
  112. package/dist/cases/freshness.js +0 -283
  113. package/dist/cases/live-state.d.ts +0 -48
  114. package/dist/cases/live-state.js +0 -256
  115. package/dist/cases/membership-explain.d.ts +0 -56
  116. package/dist/cases/membership-explain.js +0 -140
  117. package/dist/cases/membership-matcher.d.ts +0 -23
  118. package/dist/cases/membership-matcher.js +0 -193
  119. package/dist/cases/merge-split.d.ts +0 -61
  120. package/dist/cases/merge-split.js +0 -368
  121. package/dist/cases/role-inference.d.ts +0 -10
  122. package/dist/cases/role-inference.js +0 -85
  123. package/dist/cases/sqlite-transaction.d.ts +0 -10
  124. package/dist/cases/sqlite-transaction.js +0 -62
  125. package/dist/cases/target-ref.d.ts +0 -25
  126. package/dist/cases/target-ref.js +0 -22
  127. package/dist/cases/tombstone-sweeper.d.ts +0 -13
  128. package/dist/cases/tombstone-sweeper.js +0 -128
  129. package/dist/entities/entity-impact.d.ts +0 -41
  130. package/dist/entities/entity-impact.js +0 -140
  131. package/dist/entities/exact-merge-backfill.d.ts +0 -11
  132. package/dist/entities/exact-merge-backfill.js +0 -161
  133. package/dist/entities/lineage-backfill.d.ts +0 -12
  134. package/dist/entities/lineage-backfill.js +0 -101
  135. package/dist/memory-inject.d.ts +0 -24
  136. package/dist/memory-inject.js +0 -116
@@ -1,116 +0,0 @@
1
- "use strict";
2
- /**
3
- * MAMA (Memory-Augmented MCP Architecture) - Memory Injection Hook
4
- *
5
- * UserPromptSubmit hook that injects decision history into Claude's context
6
- * Tasks: 1.1-1.9 (Hook setup, timeout handling, context injection)
7
- * AC #1: Query intent → Graph query → Format → Inject (5s timeout for LLM latency)
8
- * AC #2: No history → null (graceful fallback)
9
- * AC #3: Timeout → graceful fallback
10
- *
11
- * @module memory-inject
12
- * @version 1.0
13
- * @date 2025-11-14
14
- */
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.injectDecisionContext = injectDecisionContext;
17
- // Error handling policy:
18
- // - Timeout errors: thrown (caller handles retry/fallback)
19
- // - Vector search unavailable: returns empty array (recoverable, not critical)
20
- const debug_logger_js_1 = require("./debug-logger.js");
21
- const memory_store_js_1 = require("./memory-store.js");
22
- const decision_formatter_js_1 = require("./decision-formatter.js");
23
- // Configuration
24
- const TIMEOUT_MS = 5000; // LLM-based intent detection, user accepts longer thinking
25
- const TOKEN_BUDGET = 500; // AC #1: Max 500 tokens per injection
26
- /**
27
- * UserPromptSubmit Hook Handler
28
- *
29
- * Task 1.1-1.9: Main entry point for memory injection
30
- * AC #1, #2, #3: Intent analysis → Query → Format → Inject
31
- *
32
- * @param userMessage - User's message from prompt
33
- * @returns Injected context or null
34
- */
35
- async function injectDecisionContext(userMessage) {
36
- const startTime = Date.now();
37
- let timeoutId = null;
38
- try {
39
- // Task 1.3: Implement timeout wrapper (Promise.race with timeout)
40
- const timeoutPromise = new Promise((_, reject) => {
41
- timeoutId = setTimeout(() => {
42
- reject(new Error(`Memory injection timeout (${TIMEOUT_MS}ms)`));
43
- }, TIMEOUT_MS);
44
- });
45
- const context = await Promise.race([
46
- performMemoryInjection(userMessage, startTime),
47
- timeoutPromise,
48
- ]);
49
- // Clear timeout on success to prevent timer leak
50
- if (timeoutId) {
51
- clearTimeout(timeoutId);
52
- }
53
- return context;
54
- }
55
- catch (error) {
56
- // Clear timeout on error to prevent timer leak
57
- if (timeoutId) {
58
- clearTimeout(timeoutId);
59
- }
60
- // CLAUDE.md Rule #1: NO FALLBACK
61
- // Errors must be thrown for debugging (including timeout)
62
- const message = error instanceof Error ? error.message : String(error);
63
- (0, debug_logger_js_1.error)(`[MAMA] Memory injection FAILED: ${message}`);
64
- throw error;
65
- }
66
- }
67
- /**
68
- * Perform memory injection with all steps
69
- *
70
- * Simplified: Direct vector search without LLM intent analysis
71
- * Faster, more reliable, works with all query types
72
- *
73
- * @param userMessage - User's message
74
- * @param startTime - Start timestamp for latency tracking
75
- * @returns Formatted context or null
76
- */
77
- async function performMemoryInjection(userMessage, startTime) {
78
- // 1. Generate query embedding
79
- const { generateEmbedding } = await import('./embeddings.js');
80
- const queryEmbedding = await generateEmbedding(userMessage, 'query');
81
- const embeddingLatency = Date.now() - startTime;
82
- (0, debug_logger_js_1.info)(`[MAMA] Embedding generation: ${embeddingLatency}ms`);
83
- // 2. Adaptive threshold (shorter queries need higher confidence)
84
- const wordCount = userMessage.split(/\s+/).length;
85
- const adaptiveThreshold = wordCount < 3 ? 0.7 : 0.6;
86
- // 3. Vector search (returns [] on error for graceful degradation)
87
- let results;
88
- try {
89
- results = (await (0, memory_store_js_1.vectorSearch)(queryEmbedding, 10, 0.5)); // Get more candidates
90
- }
91
- catch (error) {
92
- // Vector search unavailability should not block the main conversation flow
93
- const message = error instanceof Error ? error.message : String(error);
94
- (0, debug_logger_js_1.error)(`[MAMA] Vector search failed: ${message}`);
95
- return null;
96
- }
97
- // 4. Filter by adaptive threshold
98
- results = results.filter((r) => r.similarity >= adaptiveThreshold);
99
- const searchLatency = Date.now() - startTime;
100
- (0, debug_logger_js_1.info)(`[MAMA] Vector search: ${searchLatency - embeddingLatency}ms (${results.length} results, threshold: ${adaptiveThreshold})`);
101
- // 5. Check if we have any decisions
102
- if (results.length === 0) {
103
- // Redact user content for privacy - only log length, not content
104
- (0, debug_logger_js_1.info)(`[MAMA] No relevant decisions found (query length: ${userMessage.length} chars)`);
105
- return null;
106
- }
107
- // 6. Format context summary
108
- const formattedContext = (0, decision_formatter_js_1.formatContext)(results, {
109
- maxTokens: TOKEN_BUDGET,
110
- });
111
- const formatLatency = Date.now() - startTime;
112
- (0, debug_logger_js_1.info)(`[MAMA] Format context: ${formatLatency - searchLatency}ms (total: ${formatLatency}ms)`);
113
- // 7. Return formatted context (Claude Code will inject it)
114
- return formattedContext;
115
- }
116
- //# sourceMappingURL=memory-inject.js.map