@jungjaehoon/mama-core 1.5.0 → 1.6.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 (78) hide show
  1. package/README.md +48 -10
  2. package/db/migrations/032-add-memory-provenance-columns.sql +21 -0
  3. package/db/migrations/033-create-model-runs-and-tool-traces.sql +53 -0
  4. package/db/migrations/034-add-connector-event-scope-columns.sql +14 -0
  5. package/db/migrations/035-create-twin-edges.sql +63 -0
  6. package/db/migrations/036-create-agent-situation-packets.sql +61 -0
  7. package/dist/agent-graph/alias-write.d.ts +3 -0
  8. package/dist/agent-graph/alias-write.js +231 -0
  9. package/dist/agent-graph/entity-resolve.d.ts +3 -0
  10. package/dist/agent-graph/entity-resolve.js +275 -0
  11. package/dist/agent-graph/errors.d.ts +4 -0
  12. package/dist/agent-graph/errors.js +11 -0
  13. package/dist/agent-graph/graph-query.d.ts +5 -0
  14. package/dist/agent-graph/graph-query.js +359 -0
  15. package/dist/agent-graph/index.d.ts +6 -0
  16. package/dist/agent-graph/index.js +22 -0
  17. package/dist/agent-graph/types.d.ts +162 -0
  18. package/dist/agent-graph/types.js +3 -0
  19. package/dist/agent-situation/builder.d.ts +8 -0
  20. package/dist/agent-situation/builder.js +239 -0
  21. package/dist/agent-situation/cache-key.d.ts +4 -0
  22. package/dist/agent-situation/cache-key.js +64 -0
  23. package/dist/agent-situation/index.d.ts +7 -0
  24. package/dist/agent-situation/index.js +28 -0
  25. package/dist/agent-situation/packet-store.d.ts +27 -0
  26. package/dist/agent-situation/packet-store.js +228 -0
  27. package/dist/agent-situation/ranking-policy.d.ts +18 -0
  28. package/dist/agent-situation/ranking-policy.js +75 -0
  29. package/dist/agent-situation/source-readers.d.ts +52 -0
  30. package/dist/agent-situation/source-readers.js +300 -0
  31. package/dist/agent-situation/types.d.ts +195 -0
  32. package/dist/agent-situation/types.js +3 -0
  33. package/dist/cases/search-rollup.d.ts +4 -0
  34. package/dist/cases/search-rollup.js +84 -0
  35. package/dist/connectors/event-index.d.ts +1 -0
  36. package/dist/connectors/event-index.js +19 -4
  37. package/dist/connectors/raw-query.d.ts +18 -0
  38. package/dist/connectors/raw-query.js +305 -0
  39. package/dist/connectors/types.d.ts +40 -0
  40. package/dist/db-adapter/node-sqlite-adapter.d.ts +6 -0
  41. package/dist/db-adapter/node-sqlite-adapter.js +131 -0
  42. package/dist/db-manager.d.ts +8 -1
  43. package/dist/db-manager.js +53 -5
  44. package/dist/edges/ref-validation.d.ts +8 -0
  45. package/dist/edges/ref-validation.js +262 -0
  46. package/dist/edges/store.d.ts +10 -0
  47. package/dist/edges/store.js +343 -0
  48. package/dist/edges/types.d.ts +86 -0
  49. package/dist/edges/types.js +18 -0
  50. package/dist/embeddings.js +13 -0
  51. package/dist/index.d.ts +17 -3
  52. package/dist/index.js +53 -4
  53. package/dist/mama-api.d.ts +32 -35
  54. package/dist/mama-api.js +173 -22
  55. package/dist/memory/api.d.ts +17 -56
  56. package/dist/memory/api.js +494 -52
  57. package/dist/memory/event-store.d.ts +3 -0
  58. package/dist/memory/event-store.js +21 -2
  59. package/dist/memory/provenance-audit.d.ts +22 -0
  60. package/dist/memory/provenance-audit.js +112 -0
  61. package/dist/memory/provenance-query.d.ts +11 -0
  62. package/dist/memory/provenance-query.js +193 -0
  63. package/dist/memory/provenance.d.ts +29 -0
  64. package/dist/memory/provenance.js +136 -0
  65. package/dist/memory/scope-backfill.d.ts +17 -0
  66. package/dist/memory/scope-backfill.js +77 -0
  67. package/dist/memory/types.d.ts +86 -14
  68. package/dist/model-runs/store.d.ts +13 -0
  69. package/dist/model-runs/store.js +457 -0
  70. package/dist/model-runs/tool-trace-store.d.ts +4 -0
  71. package/dist/model-runs/tool-trace-store.js +114 -0
  72. package/dist/model-runs/types.d.ts +69 -0
  73. package/dist/model-runs/types.js +5 -0
  74. package/dist/runtime/trusted-provenance.d.ts +3 -0
  75. package/dist/runtime/trusted-provenance.js +6 -0
  76. package/dist/search/search-quality.d.ts +36 -0
  77. package/dist/search/search-quality.js +29 -0
  78. package/package.json +9 -2
@@ -0,0 +1,86 @@
1
+ import type { Buffer } from 'node:buffer';
2
+ export declare const TWIN_REF_KINDS: readonly ["memory", "case", "entity", "report", "edge", "raw"];
3
+ export type TwinRefKind = (typeof TWIN_REF_KINDS)[number];
4
+ export declare const TWIN_EDGE_SOURCES: readonly ["agent", "human", "code"];
5
+ export type TwinEdgeSource = (typeof TWIN_EDGE_SOURCES)[number];
6
+ export declare const TWIN_EDGE_TYPES: readonly ["supersedes", "builds_on", "debates", "synthesizes", "mentions", "derived_from", "case_member", "alias_of", "next_action_for", "blocks"];
7
+ export type TwinEdgeType = (typeof TWIN_EDGE_TYPES)[number];
8
+ export type TwinRef = {
9
+ [Kind in TwinRefKind]: {
10
+ kind: Kind;
11
+ id: string;
12
+ };
13
+ }[TwinRefKind];
14
+ export type TwinEdgeSubjectRef = Exclude<TwinRef, {
15
+ kind: 'raw';
16
+ }>;
17
+ export interface TwinScopeRef {
18
+ kind: 'global' | 'user' | 'channel' | 'project';
19
+ id: string;
20
+ }
21
+ export interface TwinProjectRef {
22
+ kind: string;
23
+ id: string;
24
+ }
25
+ export interface TwinVisibility {
26
+ scopes?: TwinScopeRef[];
27
+ connectors?: string[];
28
+ projectRefs?: TwinProjectRef[];
29
+ tenantId?: string | null;
30
+ asOfMs?: number | null;
31
+ }
32
+ export interface InsertTwinEdgeInput {
33
+ edge_id?: string;
34
+ edge_type: TwinEdgeType;
35
+ subject_ref: TwinEdgeSubjectRef;
36
+ object_ref: TwinRef;
37
+ relation_attrs?: unknown;
38
+ confidence?: number;
39
+ source: TwinEdgeSource;
40
+ agent_id?: string;
41
+ model_run_id?: string;
42
+ envelope_hash?: string;
43
+ request_idempotency_key?: string;
44
+ edge_idempotency_key?: string;
45
+ human_actor_id?: string;
46
+ human_actor_role?: 'commander' | 'configurator_elevated';
47
+ authority_scope_json?: unknown;
48
+ reason_classification?: 'factual_correction' | 'agent_inference_wrong' | 'privacy_redaction' | 'duplicate_merge' | 'state_override' | 'other';
49
+ reason_text?: string;
50
+ evidence_refs?: unknown;
51
+ }
52
+ export interface TwinEdgeRecord {
53
+ edge_id: string;
54
+ edge_type: TwinEdgeType;
55
+ subject_ref: TwinRef;
56
+ object_ref: TwinRef;
57
+ relation_attrs_json: string | null;
58
+ relation_attrs: unknown | null;
59
+ confidence: number;
60
+ source: TwinEdgeSource;
61
+ agent_id: string | null;
62
+ model_run_id: string | null;
63
+ envelope_hash: string | null;
64
+ human_actor_id: string | null;
65
+ human_actor_role: string | null;
66
+ authority_scope_json: string | null;
67
+ authority_scope: unknown | null;
68
+ reason_classification: string | null;
69
+ reason_text: string | null;
70
+ evidence_refs_json: string | null;
71
+ evidence_refs: unknown | null;
72
+ request_idempotency_key: string | null;
73
+ edge_idempotency_key: string | null;
74
+ content_hash: Buffer;
75
+ created_at: number;
76
+ }
77
+ export interface ListVisibleTwinEdgesOptions {
78
+ scopes?: TwinScopeRef[];
79
+ connectors?: string[];
80
+ projectRefs?: TwinProjectRef[];
81
+ tenantId?: string | null;
82
+ edgeTypes?: TwinEdgeType[];
83
+ asOfMs?: number | null;
84
+ limit?: number;
85
+ }
86
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TWIN_EDGE_TYPES = exports.TWIN_EDGE_SOURCES = exports.TWIN_REF_KINDS = void 0;
4
+ exports.TWIN_REF_KINDS = ['memory', 'case', 'entity', 'report', 'edge', 'raw'];
5
+ exports.TWIN_EDGE_SOURCES = ['agent', 'human', 'code'];
6
+ exports.TWIN_EDGE_TYPES = [
7
+ 'supersedes',
8
+ 'builds_on',
9
+ 'debates',
10
+ 'synthesizes',
11
+ 'mentions',
12
+ 'derived_from',
13
+ 'case_member',
14
+ 'alias_of',
15
+ 'next_action_for',
16
+ 'blocks',
17
+ ];
18
+ //# sourceMappingURL=types.js.map
@@ -32,10 +32,20 @@ Object.defineProperty(exports, "getEmbeddingDim", { enumerable: true, get: funct
32
32
  Object.defineProperty(exports, "getQuantized", { enumerable: true, get: function () { return config_loader_js_1.getQuantized; } });
33
33
  // Shared cache directory (not in node_modules)
34
34
  const DEFAULT_CACHE_DIR = path_1.default.join(os_1.default.homedir(), '.cache', 'huggingface', 'transformers');
35
+ const TIER3_ENV_VALUES = new Set(['1', 'true', 'yes']);
35
36
  // Singleton pattern for model loading
36
37
  let embeddingPipeline = null;
37
38
  let currentModelName = null;
38
39
  let modelLoadFailed = false; // Cache load failures to avoid repeated slow retries
40
+ function isForceTier3Enabled() {
41
+ return TIER3_ENV_VALUES.has(String(process.env.MAMA_FORCE_TIER_3 || '').toLowerCase());
42
+ }
43
+ function assertEmbeddingsEnabled() {
44
+ if (isForceTier3Enabled()) {
45
+ throw new Error('Embedding generation disabled because MAMA_FORCE_TIER_3=true. ' +
46
+ 'Tier 3 test mode must use lexical/no-vector fallback instead of loading the embedding model.');
47
+ }
48
+ }
39
49
  /**
40
50
  * Load embedding model (configurable)
41
51
  *
@@ -45,6 +55,7 @@ let modelLoadFailed = false; // Cache load failures to avoid repeated slow retri
45
55
  * @returns Embedding pipeline
46
56
  */
47
57
  async function loadModel() {
58
+ assertEmbeddingsEnabled();
48
59
  const modelName = (0, config_loader_js_1.getModelName)();
49
60
  // Check if model has changed (Story M1.4 AC #3)
50
61
  if (embeddingPipeline && currentModelName && currentModelName !== modelName) {
@@ -104,6 +115,7 @@ async function generateEmbedding(text) {
104
115
  if (!text || text.trim().length === 0) {
105
116
  throw new Error('Text cannot be empty');
106
117
  }
118
+ assertEmbeddingsEnabled();
107
119
  // Task 2: Check cache first (AC #3)
108
120
  const cached = embedding_cache_js_1.embeddingCache.get(text);
109
121
  if (cached) {
@@ -189,6 +201,7 @@ async function generateEnhancedEmbedding(decision) {
189
201
  * @returns Array of embeddings
190
202
  */
191
203
  async function generateBatchEmbeddings(texts) {
204
+ assertEmbeddingsEnabled();
192
205
  if (!Array.isArray(texts) || texts.length === 0) {
193
206
  throw new Error('Texts must be a non-empty array');
194
207
  }
package/dist/index.d.ts CHANGED
@@ -15,10 +15,22 @@ export { createAdapter, DatabaseAdapter, SQLiteAdapter, type AdapterConfig, type
15
15
  export { getSessionDecisions, incrementUsageSuccess, incrementUsageFailure, getDecisionById, traverseDecisionChain, DB_PATH, DB_DIR, LEGACY_DB_PATH, DEFAULT_DB_PATH, } from './memory-store.js';
16
16
  import mama from './mama-api.js';
17
17
  export { mama };
18
- export { MEMORY_SCOPE_KINDS, MEMORY_KINDS, MEMORY_STATUSES, MEMORY_EDGE_TYPES, createEmptyRecallBundle, type MemoryScopeKind, type MemoryKind, type MemoryStatus, type MemoryEdgeType, type MemoryScopeRef, type MemoryRecord, type MemorySearchResultHit, type MemoryEdge, type ProfileSnapshot, type RecallBundle, type ConversationMessage, type IngestConversationInput, type ExtractedMemoryUnit, type IngestConversationResult, } from './memory/types.js';
19
- export { saveMemory, recallMemory, buildProfile, ingestMemory, evolveMemory, buildMemoryBootstrap, createAuditAck, recordMemoryAudit, ingestConversation, setExtractionFn, upsertChannelSummary, getChannelSummary, } from './memory/api.js';
18
+ export { MEMORY_SCOPE_KINDS, MEMORY_KINDS, MEMORY_STATUSES, MEMORY_EDGE_TYPES, createEmptyRecallBundle, type MemoryScopeKind, type MemoryKind, type MemoryStatus, type MemoryEdgeType, type MemoryScopeRef, type MemorySourceRef, type MemoryRecord, type MemoryWriteProvenance, type MemoryProvenanceRecord, type PublicSaveMemoryInput, type PublicIngestMemoryInput, type PublicIngestConversationInput, type MemorySearchResultHit, type MemoryEdge, type ProfileSnapshot, type RecallBundle, type ConversationMessage, type IngestConversationInput, type ExtractedMemoryUnit, type IngestConversationResult, } from './memory/types.js';
19
+ export { saveMemory, saveMemoryWithTrustedProvenance, recallMemory, buildProfile, ingestMemory, ingestWithTrustedProvenance, evolveMemory, buildMemoryBootstrap, createAuditAck, recordMemoryAudit, ingestConversation, ingestConversationWithTrustedProvenance, setExtractionFn, upsertChannelSummary, getChannelSummary, } from './memory/api.js';
20
20
  export { buildExtractionPrompt, parseExtractionResponse } from './memory/extraction-prompt.js';
21
- export { appendMemoryEvent, listRecentMemoryEvents } from './memory/event-store.js';
21
+ export { appendMemoryEvent, insertMemoryEventInTransaction, listMemoryEventsForMemory, listRecentMemoryEvents, } from './memory/event-store.js';
22
+ export { createTrustedProvenanceCapability, assertTrustedProvenanceCapability, type TrustedProvenanceCapability, type TrustedMemoryWriteOptions, } from './memory/provenance.js';
23
+ export { getMemoryProvenance, listMemoriesByEnvelopeHash, listMemoriesByGatewayCallId, listMemoriesByModelRunId, } from './memory/provenance-query.js';
24
+ export { backfillLegacyMemoryProvenance, backfillConnectorEventScopeMetadata, type BackfillResult, type ConnectorEventScopeBackfillInput, } from './memory/scope-backfill.js';
25
+ export { getMemoryProvenanceAudit, listMemoryProvenanceAudit, type MemoryProvenanceAuditRecord, type MemoryProvenanceAuditListOptions, } from './memory/provenance-audit.js';
26
+ export { MODEL_RUN_STATUSES, type ModelRunStatus, type BeginModelRunInput, type ModelRunRecord, type AppendToolTraceInput, type ToolTraceRecord, } from './model-runs/types.js';
27
+ export { beginModelRun, beginModelRunInAdapter, commitModelRun, commitModelRunInAdapter, failModelRun, failModelRunInAdapter, getModelRun, getModelRunInAdapter, } from './model-runs/store.js';
28
+ export { appendToolTrace, listToolTracesForRun } from './model-runs/tool-trace-store.js';
29
+ export { TWIN_EDGE_SOURCES, TWIN_EDGE_TYPES, TWIN_REF_KINDS, type InsertTwinEdgeInput, type ListVisibleTwinEdgesOptions, type TwinEdgeRecord, type TwinEdgeSource, type TwinEdgeType, type TwinRef, type TwinRefKind, type TwinScopeRef, } from './edges/types.js';
30
+ export { getTwinEdge, insertTwinEdge, listTwinEdgesForRefs, mapTwinEdgeRow, } from './edges/store.js';
31
+ export { assertTwinRefsVisibleToScopes, listVisibleTwinEdgesForRefs, } from './edges/ref-validation.js';
32
+ export * from './agent-situation/index.js';
33
+ export * from './agent-graph/index.js';
22
34
  export * from './entities/types.js';
23
35
  export * from './entities/errors.js';
24
36
  export * from './entities/store.js';
@@ -72,10 +84,12 @@ export * from './cases/composition-overrides.js';
72
84
  export * from './cases/freshness.js';
73
85
  export * from './cases/membership-explain.js';
74
86
  export * from './connectors/event-index.js';
87
+ export * from './connectors/raw-query.js';
75
88
  export * from './connectors/types.js';
76
89
  export * from './search/question-type.js';
77
90
  export * from './search/feedback-store.js';
78
91
  export * from './search/ranker-features.js';
79
92
  export * from './search/ranker-trainer.js';
80
93
  export * from './search/ranker-rescore.js';
94
+ export * from './search/search-quality.js';
81
95
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -26,10 +26,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.recallMemory = exports.saveMemory = exports.createEmptyRecallBundle = exports.MEMORY_EDGE_TYPES = exports.MEMORY_STATUSES = exports.MEMORY_KINDS = exports.MEMORY_SCOPE_KINDS = exports.mama = exports.DEFAULT_DB_PATH = exports.LEGACY_DB_PATH = exports.DB_DIR = exports.DB_PATH = exports.traverseDecisionChain = exports.getDecisionById = exports.incrementUsageFailure = exports.incrementUsageSuccess = exports.getSessionDecisions = exports.SQLiteAdapter = exports.DatabaseAdapter = exports.createAdapter = exports.reindexEmbeddings = exports.fts5Search = exports.getDbPath = exports.getPreparedStmt = exports.updateDecisionOutcome = exports.querySemanticEdges = exports.queryDecisionGraph = exports.insertDecisionWithEmbedding = exports.queryVectorSearch = exports.vectorSearch = exports.insertEmbedding = exports.closeDB = exports.getAdapter = exports.getDB = exports.initDB = exports.TIMEOUT_MS = exports.HOST = exports.DEFAULT_PORT = exports.getServerPort = exports.isServerRunning = exports.getServerStatus = exports.getEmbeddingFromServer = exports.EmbeddingCache = exports.MODEL_NAME = exports.EMBEDDING_DIM = exports.embeddingCache = exports.cosineSimilarity = exports.generateBatchEmbeddings = exports.generateEnhancedEmbedding = exports.generateEmbedding = void 0;
30
- exports.logComplete = exports.logProgress = exports.getTierBanner = exports.getTierDescription = exports.checkDatabase = exports.checkEmbeddings = exports.checkSQLite = exports.checkNodeVersion = exports.validateTier = exports.VALID_EDGE_TYPES = exports.updateConfidence = exports.getSupersededChainDepth = exports.createEdgesFromReasoning = exports.parseReasoningForRelationships = exports.detectRefinement = exports.calculateCombinedConfidence = exports.markSuperseded = exports.createSupersedesEdge = exports.createEdge = exports.getPreviousDecision = exports.generateDecisionId = exports.learnDecision = exports.testRelevanceScoring = exports.formatTopNContext = exports.selectTopDecisions = exports.calculateRelevance = exports.DEFAULT_CONFIG = exports.getConfigPath = exports.updateConfig = exports.getCacheDir = exports.getEmbeddingDim = exports.getModelName = exports.loadConfig = exports.CanonicalizeError = exports.targetRefHash = exports.canonicalizeJSON = exports.listRecentMemoryEvents = exports.appendMemoryEvent = exports.parseExtractionResponse = exports.buildExtractionPrompt = exports.getChannelSummary = exports.upsertChannelSummary = exports.setExtractionFn = exports.ingestConversation = exports.recordMemoryAudit = exports.createAuditAck = exports.buildMemoryBootstrap = exports.evolveMemory = exports.ingestMemory = exports.buildProfile = void 0;
31
- exports.analyzeIntent = exports.injectDecisionContext = exports.RECENT_WINDOW_MS = exports.PARTIAL_INDICATORS = exports.SUCCESS_INDICATORS = exports.FAILURE_INDICATORS = exports.onUserPromptSubmit = exports.markOutcome = exports.getEvidenceImpact = exports.calculateDurationDays = exports.getRecentDecision = exports.extractFailureReason = exports.matchesPartialIndicators = exports.matchesSuccessIndicators = exports.matchesFailureIndicators = exports.analyzeOutcome = exports.extractCodeExample = exports.extractQuickAnswer = exports.estimateTokens = exports.ensureTokenBudget = exports.formatTrustContext = exports.formatInstantAnswer = exports.formatTeaser = exports.formatList = exports.formatRecall = exports.formatLegacyContext = exports.formatContext = exports.isMAMAError = exports.wrapError = exports.ErrorCodes = exports.TimeoutError = exports.RateLimitError = exports.LinkError = exports.ConfigurationError = exports.EmbeddingError = exports.DatabaseError = exports.ValidationError = exports.NotFoundError = exports.MAMAError = exports.formatTimeAgo = exports.DebugLogger = exports.error = exports.warn = exports.info = exports.debug = exports.logSearching = exports.logLoading = exports.logInfo = exports.logError = exports.logFailed = void 0;
32
- exports.notifyInsight = exports.FALLBACK_MODEL = exports.DEFAULT_MODEL = exports.listModels = exports.isAvailable = exports.analyzeQueryIntent = exports.analyzeDecision = exports.generate = exports.extractTopicKeywords = void 0;
29
+ exports.saveMemoryWithTrustedProvenance = exports.saveMemory = exports.createEmptyRecallBundle = exports.MEMORY_EDGE_TYPES = exports.MEMORY_STATUSES = exports.MEMORY_KINDS = exports.MEMORY_SCOPE_KINDS = exports.mama = exports.DEFAULT_DB_PATH = exports.LEGACY_DB_PATH = exports.DB_DIR = exports.DB_PATH = exports.traverseDecisionChain = exports.getDecisionById = exports.incrementUsageFailure = exports.incrementUsageSuccess = exports.getSessionDecisions = exports.SQLiteAdapter = exports.DatabaseAdapter = exports.createAdapter = exports.reindexEmbeddings = exports.fts5Search = exports.getDbPath = exports.getPreparedStmt = exports.updateDecisionOutcome = exports.querySemanticEdges = exports.queryDecisionGraph = exports.insertDecisionWithEmbedding = exports.queryVectorSearch = exports.vectorSearch = exports.insertEmbedding = exports.closeDB = exports.getAdapter = exports.getDB = exports.initDB = exports.TIMEOUT_MS = exports.HOST = exports.DEFAULT_PORT = exports.getServerPort = exports.isServerRunning = exports.getServerStatus = exports.getEmbeddingFromServer = exports.EmbeddingCache = exports.MODEL_NAME = exports.EMBEDDING_DIM = exports.embeddingCache = exports.cosineSimilarity = exports.generateBatchEmbeddings = exports.generateEnhancedEmbedding = exports.generateEmbedding = void 0;
30
+ exports.canonicalizeJSON = exports.listVisibleTwinEdgesForRefs = exports.assertTwinRefsVisibleToScopes = exports.mapTwinEdgeRow = exports.listTwinEdgesForRefs = exports.insertTwinEdge = exports.getTwinEdge = exports.TWIN_REF_KINDS = exports.TWIN_EDGE_TYPES = exports.TWIN_EDGE_SOURCES = exports.listToolTracesForRun = exports.appendToolTrace = exports.getModelRunInAdapter = exports.getModelRun = exports.failModelRunInAdapter = exports.failModelRun = exports.commitModelRunInAdapter = exports.commitModelRun = exports.beginModelRunInAdapter = exports.beginModelRun = exports.MODEL_RUN_STATUSES = exports.listMemoryProvenanceAudit = exports.getMemoryProvenanceAudit = exports.backfillConnectorEventScopeMetadata = exports.backfillLegacyMemoryProvenance = exports.listMemoriesByModelRunId = exports.listMemoriesByGatewayCallId = exports.listMemoriesByEnvelopeHash = exports.getMemoryProvenance = exports.assertTrustedProvenanceCapability = exports.createTrustedProvenanceCapability = exports.listRecentMemoryEvents = exports.listMemoryEventsForMemory = exports.insertMemoryEventInTransaction = exports.appendMemoryEvent = exports.parseExtractionResponse = exports.buildExtractionPrompt = exports.getChannelSummary = exports.upsertChannelSummary = exports.setExtractionFn = exports.ingestConversationWithTrustedProvenance = exports.ingestConversation = exports.recordMemoryAudit = exports.createAuditAck = exports.buildMemoryBootstrap = exports.evolveMemory = exports.ingestWithTrustedProvenance = exports.ingestMemory = exports.buildProfile = exports.recallMemory = void 0;
31
+ exports.DatabaseError = exports.ValidationError = exports.NotFoundError = exports.MAMAError = exports.formatTimeAgo = exports.DebugLogger = exports.error = exports.warn = exports.info = exports.debug = exports.logSearching = exports.logLoading = exports.logInfo = exports.logError = exports.logFailed = exports.logComplete = exports.logProgress = exports.getTierBanner = exports.getTierDescription = exports.checkDatabase = exports.checkEmbeddings = exports.checkSQLite = exports.checkNodeVersion = exports.validateTier = exports.VALID_EDGE_TYPES = exports.updateConfidence = exports.getSupersededChainDepth = exports.createEdgesFromReasoning = exports.parseReasoningForRelationships = exports.detectRefinement = exports.calculateCombinedConfidence = exports.markSuperseded = exports.createSupersedesEdge = exports.createEdge = exports.getPreviousDecision = exports.generateDecisionId = exports.learnDecision = exports.testRelevanceScoring = exports.formatTopNContext = exports.selectTopDecisions = exports.calculateRelevance = exports.DEFAULT_CONFIG = exports.getConfigPath = exports.updateConfig = exports.getCacheDir = exports.getEmbeddingDim = exports.getModelName = exports.loadConfig = exports.CanonicalizeError = exports.targetRefHash = void 0;
32
+ exports.notifyInsight = exports.FALLBACK_MODEL = exports.DEFAULT_MODEL = exports.listModels = exports.isAvailable = exports.analyzeQueryIntent = exports.analyzeDecision = exports.generate = exports.extractTopicKeywords = exports.analyzeIntent = exports.injectDecisionContext = exports.RECENT_WINDOW_MS = exports.PARTIAL_INDICATORS = exports.SUCCESS_INDICATORS = exports.FAILURE_INDICATORS = exports.onUserPromptSubmit = exports.markOutcome = exports.getEvidenceImpact = exports.calculateDurationDays = exports.getRecentDecision = exports.extractFailureReason = exports.matchesPartialIndicators = exports.matchesSuccessIndicators = exports.matchesFailureIndicators = exports.analyzeOutcome = exports.extractCodeExample = exports.extractQuickAnswer = exports.estimateTokens = exports.ensureTokenBudget = exports.formatTrustContext = exports.formatInstantAnswer = exports.formatTeaser = exports.formatList = exports.formatRecall = exports.formatLegacyContext = exports.formatContext = exports.isMAMAError = exports.wrapError = exports.ErrorCodes = exports.TimeoutError = exports.RateLimitError = exports.LinkError = exports.ConfigurationError = exports.EmbeddingError = void 0;
33
33
  var embeddings_js_1 = require("./embeddings.js");
34
34
  Object.defineProperty(exports, "generateEmbedding", { enumerable: true, get: function () { return embeddings_js_1.generateEmbedding; } });
35
35
  Object.defineProperty(exports, "generateEnhancedEmbedding", { enumerable: true, get: function () { return embeddings_js_1.generateEnhancedEmbedding; } });
@@ -88,14 +88,17 @@ Object.defineProperty(exports, "MEMORY_EDGE_TYPES", { enumerable: true, get: fun
88
88
  Object.defineProperty(exports, "createEmptyRecallBundle", { enumerable: true, get: function () { return types_js_1.createEmptyRecallBundle; } });
89
89
  var api_js_1 = require("./memory/api.js");
90
90
  Object.defineProperty(exports, "saveMemory", { enumerable: true, get: function () { return api_js_1.saveMemory; } });
91
+ Object.defineProperty(exports, "saveMemoryWithTrustedProvenance", { enumerable: true, get: function () { return api_js_1.saveMemoryWithTrustedProvenance; } });
91
92
  Object.defineProperty(exports, "recallMemory", { enumerable: true, get: function () { return api_js_1.recallMemory; } });
92
93
  Object.defineProperty(exports, "buildProfile", { enumerable: true, get: function () { return api_js_1.buildProfile; } });
93
94
  Object.defineProperty(exports, "ingestMemory", { enumerable: true, get: function () { return api_js_1.ingestMemory; } });
95
+ Object.defineProperty(exports, "ingestWithTrustedProvenance", { enumerable: true, get: function () { return api_js_1.ingestWithTrustedProvenance; } });
94
96
  Object.defineProperty(exports, "evolveMemory", { enumerable: true, get: function () { return api_js_1.evolveMemory; } });
95
97
  Object.defineProperty(exports, "buildMemoryBootstrap", { enumerable: true, get: function () { return api_js_1.buildMemoryBootstrap; } });
96
98
  Object.defineProperty(exports, "createAuditAck", { enumerable: true, get: function () { return api_js_1.createAuditAck; } });
97
99
  Object.defineProperty(exports, "recordMemoryAudit", { enumerable: true, get: function () { return api_js_1.recordMemoryAudit; } });
98
100
  Object.defineProperty(exports, "ingestConversation", { enumerable: true, get: function () { return api_js_1.ingestConversation; } });
101
+ Object.defineProperty(exports, "ingestConversationWithTrustedProvenance", { enumerable: true, get: function () { return api_js_1.ingestConversationWithTrustedProvenance; } });
99
102
  Object.defineProperty(exports, "setExtractionFn", { enumerable: true, get: function () { return api_js_1.setExtractionFn; } });
100
103
  Object.defineProperty(exports, "upsertChannelSummary", { enumerable: true, get: function () { return api_js_1.upsertChannelSummary; } });
101
104
  Object.defineProperty(exports, "getChannelSummary", { enumerable: true, get: function () { return api_js_1.getChannelSummary; } });
@@ -104,7 +107,51 @@ Object.defineProperty(exports, "buildExtractionPrompt", { enumerable: true, get:
104
107
  Object.defineProperty(exports, "parseExtractionResponse", { enumerable: true, get: function () { return extraction_prompt_js_1.parseExtractionResponse; } });
105
108
  var event_store_js_1 = require("./memory/event-store.js");
106
109
  Object.defineProperty(exports, "appendMemoryEvent", { enumerable: true, get: function () { return event_store_js_1.appendMemoryEvent; } });
110
+ Object.defineProperty(exports, "insertMemoryEventInTransaction", { enumerable: true, get: function () { return event_store_js_1.insertMemoryEventInTransaction; } });
111
+ Object.defineProperty(exports, "listMemoryEventsForMemory", { enumerable: true, get: function () { return event_store_js_1.listMemoryEventsForMemory; } });
107
112
  Object.defineProperty(exports, "listRecentMemoryEvents", { enumerable: true, get: function () { return event_store_js_1.listRecentMemoryEvents; } });
113
+ var provenance_js_1 = require("./memory/provenance.js");
114
+ Object.defineProperty(exports, "createTrustedProvenanceCapability", { enumerable: true, get: function () { return provenance_js_1.createTrustedProvenanceCapability; } });
115
+ Object.defineProperty(exports, "assertTrustedProvenanceCapability", { enumerable: true, get: function () { return provenance_js_1.assertTrustedProvenanceCapability; } });
116
+ var provenance_query_js_1 = require("./memory/provenance-query.js");
117
+ Object.defineProperty(exports, "getMemoryProvenance", { enumerable: true, get: function () { return provenance_query_js_1.getMemoryProvenance; } });
118
+ Object.defineProperty(exports, "listMemoriesByEnvelopeHash", { enumerable: true, get: function () { return provenance_query_js_1.listMemoriesByEnvelopeHash; } });
119
+ Object.defineProperty(exports, "listMemoriesByGatewayCallId", { enumerable: true, get: function () { return provenance_query_js_1.listMemoriesByGatewayCallId; } });
120
+ Object.defineProperty(exports, "listMemoriesByModelRunId", { enumerable: true, get: function () { return provenance_query_js_1.listMemoriesByModelRunId; } });
121
+ var scope_backfill_js_1 = require("./memory/scope-backfill.js");
122
+ Object.defineProperty(exports, "backfillLegacyMemoryProvenance", { enumerable: true, get: function () { return scope_backfill_js_1.backfillLegacyMemoryProvenance; } });
123
+ Object.defineProperty(exports, "backfillConnectorEventScopeMetadata", { enumerable: true, get: function () { return scope_backfill_js_1.backfillConnectorEventScopeMetadata; } });
124
+ var provenance_audit_js_1 = require("./memory/provenance-audit.js");
125
+ Object.defineProperty(exports, "getMemoryProvenanceAudit", { enumerable: true, get: function () { return provenance_audit_js_1.getMemoryProvenanceAudit; } });
126
+ Object.defineProperty(exports, "listMemoryProvenanceAudit", { enumerable: true, get: function () { return provenance_audit_js_1.listMemoryProvenanceAudit; } });
127
+ var types_js_2 = require("./model-runs/types.js");
128
+ Object.defineProperty(exports, "MODEL_RUN_STATUSES", { enumerable: true, get: function () { return types_js_2.MODEL_RUN_STATUSES; } });
129
+ var store_js_1 = require("./model-runs/store.js");
130
+ Object.defineProperty(exports, "beginModelRun", { enumerable: true, get: function () { return store_js_1.beginModelRun; } });
131
+ Object.defineProperty(exports, "beginModelRunInAdapter", { enumerable: true, get: function () { return store_js_1.beginModelRunInAdapter; } });
132
+ Object.defineProperty(exports, "commitModelRun", { enumerable: true, get: function () { return store_js_1.commitModelRun; } });
133
+ Object.defineProperty(exports, "commitModelRunInAdapter", { enumerable: true, get: function () { return store_js_1.commitModelRunInAdapter; } });
134
+ Object.defineProperty(exports, "failModelRun", { enumerable: true, get: function () { return store_js_1.failModelRun; } });
135
+ Object.defineProperty(exports, "failModelRunInAdapter", { enumerable: true, get: function () { return store_js_1.failModelRunInAdapter; } });
136
+ Object.defineProperty(exports, "getModelRun", { enumerable: true, get: function () { return store_js_1.getModelRun; } });
137
+ Object.defineProperty(exports, "getModelRunInAdapter", { enumerable: true, get: function () { return store_js_1.getModelRunInAdapter; } });
138
+ var tool_trace_store_js_1 = require("./model-runs/tool-trace-store.js");
139
+ Object.defineProperty(exports, "appendToolTrace", { enumerable: true, get: function () { return tool_trace_store_js_1.appendToolTrace; } });
140
+ Object.defineProperty(exports, "listToolTracesForRun", { enumerable: true, get: function () { return tool_trace_store_js_1.listToolTracesForRun; } });
141
+ var types_js_3 = require("./edges/types.js");
142
+ Object.defineProperty(exports, "TWIN_EDGE_SOURCES", { enumerable: true, get: function () { return types_js_3.TWIN_EDGE_SOURCES; } });
143
+ Object.defineProperty(exports, "TWIN_EDGE_TYPES", { enumerable: true, get: function () { return types_js_3.TWIN_EDGE_TYPES; } });
144
+ Object.defineProperty(exports, "TWIN_REF_KINDS", { enumerable: true, get: function () { return types_js_3.TWIN_REF_KINDS; } });
145
+ var store_js_2 = require("./edges/store.js");
146
+ Object.defineProperty(exports, "getTwinEdge", { enumerable: true, get: function () { return store_js_2.getTwinEdge; } });
147
+ Object.defineProperty(exports, "insertTwinEdge", { enumerable: true, get: function () { return store_js_2.insertTwinEdge; } });
148
+ Object.defineProperty(exports, "listTwinEdgesForRefs", { enumerable: true, get: function () { return store_js_2.listTwinEdgesForRefs; } });
149
+ Object.defineProperty(exports, "mapTwinEdgeRow", { enumerable: true, get: function () { return store_js_2.mapTwinEdgeRow; } });
150
+ var ref_validation_js_1 = require("./edges/ref-validation.js");
151
+ Object.defineProperty(exports, "assertTwinRefsVisibleToScopes", { enumerable: true, get: function () { return ref_validation_js_1.assertTwinRefsVisibleToScopes; } });
152
+ Object.defineProperty(exports, "listVisibleTwinEdgesForRefs", { enumerable: true, get: function () { return ref_validation_js_1.listVisibleTwinEdgesForRefs; } });
153
+ __exportStar(require("./agent-situation/index.js"), exports);
154
+ __exportStar(require("./agent-graph/index.js"), exports);
108
155
  __exportStar(require("./entities/types.js"), exports);
109
156
  __exportStar(require("./entities/errors.js"), exports);
110
157
  __exportStar(require("./entities/store.js"), exports);
@@ -253,10 +300,12 @@ __exportStar(require("./cases/composition-overrides.js"), exports);
253
300
  __exportStar(require("./cases/freshness.js"), exports);
254
301
  __exportStar(require("./cases/membership-explain.js"), exports);
255
302
  __exportStar(require("./connectors/event-index.js"), exports);
303
+ __exportStar(require("./connectors/raw-query.js"), exports);
256
304
  __exportStar(require("./connectors/types.js"), exports);
257
305
  __exportStar(require("./search/question-type.js"), exports);
258
306
  __exportStar(require("./search/feedback-store.js"), exports);
259
307
  __exportStar(require("./search/ranker-features.js"), exports);
260
308
  __exportStar(require("./search/ranker-trainer.js"), exports);
261
309
  __exportStar(require("./search/ranker-rescore.js"), exports);
310
+ __exportStar(require("./search/search-quality.js"), exports);
262
311
  //# sourceMappingURL=index.js.map
@@ -19,9 +19,14 @@
19
19
  */
20
20
  import { DecisionRecord } from './db-manager.js';
21
21
  import { SemanticEdges } from './decision-formatter.js';
22
- import { saveMemory, recallMemory, buildProfile, ingestMemory, evolveMemory, buildMemoryBootstrap, createAuditAck, recordMemoryAudit, upsertChannelSummary, getChannelSummary } from './memory/api.js';
22
+ import { saveMemory, saveMemoryWithTrustedProvenance, recallMemory, buildProfile, ingestMemory, ingestWithTrustedProvenance, ingestConversation, ingestConversationWithTrustedProvenance, evolveMemory, buildMemoryBootstrap, createAuditAck, recordMemoryAudit, upsertChannelSummary, getChannelSummary } from './memory/api.js';
23
23
  import { listOpenAuditFindings } from './memory/finding-store.js';
24
- import { listRecentMemoryEvents } from './memory/event-store.js';
24
+ import { listMemoryEventsForMemory, listRecentMemoryEvents } from './memory/event-store.js';
25
+ import type { TrustedMemoryWriteOptions } from './memory/provenance.js';
26
+ import { getMemoryProvenance, listMemoriesByEnvelopeHash, listMemoriesByGatewayCallId, listMemoriesByModelRunId } from './memory/provenance-query.js';
27
+ import { beginModelRun, beginModelRunInAdapter, commitModelRun, commitModelRunInAdapter, failModelRun, failModelRunInAdapter, getModelRun, getModelRunInAdapter } from './model-runs/store.js';
28
+ import { appendToolTrace, listToolTracesForRun } from './model-runs/tool-trace-store.js';
29
+ import { type SearchHitDiagnostics, type SearchQualityOptions } from './search/search-quality.js';
25
30
  /**
26
31
  * Parameters for mama.save()
27
32
  */
@@ -68,6 +73,7 @@ interface SimilarDecision {
68
73
  created_at?: number | string;
69
74
  event_date?: string | null;
70
75
  event_datetime?: number | null;
76
+ retrieval_diagnostics?: SearchHitDiagnostics;
71
77
  }
72
78
  /**
73
79
  * Search result from mama.search()
@@ -397,34 +403,6 @@ export interface QualityReport {
397
403
  meetsTarget: boolean;
398
404
  };
399
405
  }
400
- /**
401
- * Save a decision or insight to MAMA's memory
402
- *
403
- * Simple API for Claude to save insights without complex configuration
404
- * AC #1: Simple API - no complex configuration required
405
- *
406
- * @param {Object} params - Decision parameters
407
- * @param {string} params.topic - Decision topic (e.g., 'auth_strategy', 'date_format')
408
- * @param {string} params.decision - The decision made (e.g., 'JWT', 'ISO 8601 + Unix')
409
- * @param {string} params.reasoning - Why this decision was made
410
- * @param {number} [params.confidence=0.5] - Confidence score 0.0-1.0 (optional)
411
- * @param {string} [params.type='user_decision'] - 'user_decision' or 'assistant_insight' (optional)
412
- * @param {string} [params.outcome='pending'] - 'pending', 'success', 'failure', 'partial', 'superseded' (optional)
413
- * @param {string} [params.failure_reason] - Why this decision failed (optional, used with outcome='failure')
414
- * @param {string} [params.limitation] - Known limitations of this decision (optional)
415
- * @returns {Promise<{success: boolean, id: string, similar_decisions?: Array, warning?: string, collaboration_hint?: string, reasoning_graph?: Object}>} Save result with decision ID and metadata
416
- *
417
- * @example
418
- * const decisionId = await mama.save({
419
- * topic: 'date_calculation_format',
420
- * decision: 'Support both ISO 8601 and Unix timestamp formats',
421
- * reasoning: 'Bootstrap data stored as ISO 8601 causing NaN errors',
422
- * confidence: 0.95,
423
- * type: 'assistant_insight',
424
- * outcome: 'success'
425
- * });
426
- */
427
- declare function save({ topic, decision, reasoning, confidence, type, outcome, failure_reason, limitation, trust_context: _trust_context, is_static, scopes: inputScopes, event_date, timelineEvent, }: SaveParams): Promise<SaveResult>;
428
406
  /**
429
407
  * Recall decisions by topic
430
408
  *
@@ -573,23 +551,22 @@ declare function expandWithGraph(candidates: SearchCandidate[]): Promise<SearchC
573
551
  * const markdown = await mama.suggest('mesh optimization', { format: 'markdown' });
574
552
  * // → "💡 MAMA found 3 related topics:\n1. ..."
575
553
  */
576
- interface SuggestFunctionOptions {
554
+ interface SuggestFunctionOptions extends SearchQualityOptions {
577
555
  format?: 'json' | 'markdown';
578
556
  limit?: number;
579
- threshold?: number;
580
557
  useReranking?: boolean;
581
558
  /** Phase 3 Task 33: apply learned offline ranker rescoring. */
582
559
  rerankWithLearned?: boolean;
583
560
  recencyWeight?: number;
584
561
  recencyScale?: number;
585
562
  recencyDecay?: number;
586
- disableRecency?: boolean;
587
- topicPrefix?: string;
588
563
  scopes?: Array<{
589
564
  kind: 'global' | 'user' | 'channel' | 'project';
590
565
  id: string;
591
566
  }>;
592
567
  }
568
+ declare function save(params: SaveParams): Promise<SaveResult>;
569
+ declare function saveWithTrustedProvenance(params: SaveParams, options: TrustedMemoryWriteOptions): Promise<SaveResult>;
593
570
  declare function suggest(userQuestion: string, options?: SuggestFunctionOptions): Promise<any>;
594
571
  /**
595
572
  * List recent decisions (all topics, chronological)
@@ -1050,14 +1027,19 @@ declare function generateQualityReport(options?: QualityReportOptions): string |
1050
1027
  */
1051
1028
  declare const mama: {
1052
1029
  save: typeof save;
1030
+ saveWithTrustedProvenance: typeof saveWithTrustedProvenance;
1053
1031
  suggest: typeof suggest;
1054
1032
  saveMemory: typeof saveMemory;
1033
+ saveMemoryWithTrustedProvenance: typeof saveMemoryWithTrustedProvenance;
1055
1034
  recallMemory: typeof recallMemory;
1056
1035
  list: typeof listDecisions;
1057
1036
  listCheckpoints: typeof listCheckpoints;
1058
1037
  updateOutcome: typeof updateOutcome;
1059
1038
  buildProfile: typeof buildProfile;
1060
1039
  ingestMemory: typeof ingestMemory;
1040
+ ingestWithTrustedProvenance: typeof ingestWithTrustedProvenance;
1041
+ ingestConversation: typeof ingestConversation;
1042
+ ingestConversationWithTrustedProvenance: typeof ingestConversationWithTrustedProvenance;
1061
1043
  evolveMemory: typeof evolveMemory;
1062
1044
  buildMemoryBootstrap: typeof buildMemoryBootstrap;
1063
1045
  createAuditAck: typeof createAuditAck;
@@ -1065,7 +1047,22 @@ declare const mama: {
1065
1047
  upsertChannelSummary: typeof upsertChannelSummary;
1066
1048
  getChannelSummary: typeof getChannelSummary;
1067
1049
  listAuditFindings: typeof listOpenAuditFindings;
1050
+ getMemoryProvenance: typeof getMemoryProvenance;
1051
+ listMemoriesByEnvelopeHash: typeof listMemoriesByEnvelopeHash;
1052
+ listMemoriesByGatewayCallId: typeof listMemoriesByGatewayCallId;
1053
+ listMemoriesByModelRunId: typeof listMemoriesByModelRunId;
1054
+ listMemoryEventsForMemory: typeof listMemoryEventsForMemory;
1068
1055
  listRecentMemoryEvents: typeof listRecentMemoryEvents;
1056
+ beginModelRun: typeof beginModelRun;
1057
+ beginModelRunInAdapter: typeof beginModelRunInAdapter;
1058
+ commitModelRun: typeof commitModelRun;
1059
+ commitModelRunInAdapter: typeof commitModelRunInAdapter;
1060
+ failModelRun: typeof failModelRun;
1061
+ failModelRunInAdapter: typeof failModelRunInAdapter;
1062
+ getModelRun: typeof getModelRun;
1063
+ getModelRunInAdapter: typeof getModelRunInAdapter;
1064
+ appendToolTrace: typeof appendToolTrace;
1065
+ listToolTracesForRun: typeof listToolTracesForRun;
1069
1066
  saveCheckpoint: typeof saveCheckpoint;
1070
1067
  loadCheckpoint: typeof loadCheckpoint;
1071
1068
  recall: typeof recall;
@@ -1090,6 +1087,6 @@ declare const mama: {
1090
1087
  validateCleanupResult: typeof validateCleanupResult;
1091
1088
  expandWithGraph: typeof expandWithGraph;
1092
1089
  };
1093
- export { save, suggest, saveMemory, recallMemory, listDecisions as list, listCheckpoints, updateOutcome, buildProfile, ingestMemory, evolveMemory, buildMemoryBootstrap, createAuditAck, recordMemoryAudit, upsertChannelSummary, getChannelSummary, listOpenAuditFindings, listRecentMemoryEvents, saveCheckpoint, loadCheckpoint, recall, proposeLink, approveLink, rejectLink, getPendingLinks, deprecateAutoLinks, calculateCoverage, calculateQuality, generateQualityReport, logRestartAttempt, calculateRestartSuccessRate, calculateRestartLatency, getRestartMetrics, scanAutoLinks, createLinkBackup, generatePreCleanupReport, restoreLinkBackup, verifyBackupExists, deleteAutoLinks, validateCleanupResult, };
1090
+ export { save, saveWithTrustedProvenance, suggest, saveMemory, saveMemoryWithTrustedProvenance, recallMemory, listDecisions as list, listCheckpoints, updateOutcome, buildProfile, ingestMemory, ingestWithTrustedProvenance, ingestConversation, ingestConversationWithTrustedProvenance, evolveMemory, buildMemoryBootstrap, createAuditAck, recordMemoryAudit, upsertChannelSummary, getChannelSummary, listOpenAuditFindings, getMemoryProvenance, listMemoriesByEnvelopeHash, listMemoriesByGatewayCallId, listMemoriesByModelRunId, listMemoryEventsForMemory, listRecentMemoryEvents, beginModelRun, beginModelRunInAdapter, commitModelRun, commitModelRunInAdapter, failModelRun, failModelRunInAdapter, getModelRun, getModelRunInAdapter, appendToolTrace, listToolTracesForRun, saveCheckpoint, loadCheckpoint, recall, proposeLink, approveLink, rejectLink, getPendingLinks, deprecateAutoLinks, calculateCoverage, calculateQuality, generateQualityReport, logRestartAttempt, calculateRestartSuccessRate, calculateRestartLatency, getRestartMetrics, scanAutoLinks, createLinkBackup, generatePreCleanupReport, restoreLinkBackup, verifyBackupExists, deleteAutoLinks, validateCleanupResult, expandWithGraph, };
1094
1091
  export default mama;
1095
1092
  //# sourceMappingURL=mama-api.d.ts.map