@jungjaehoon/mama-core 1.3.3 → 1.4.1

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 (56) hide show
  1. package/README.md +67 -19
  2. package/db/migrations/001-initial-decision-graph.sql +6 -1
  3. package/db/migrations/002-add-error-patterns.sql +1 -1
  4. package/db/migrations/014-add-is-static-column.sql +5 -0
  5. package/db/migrations/015-add-fts5-search.sql +34 -0
  6. package/db/migrations/016-add-memory-v2-columns.sql +14 -0
  7. package/db/migrations/017-create-memory-scopes.sql +10 -0
  8. package/db/migrations/018-create-memory-scope-bindings.sql +15 -0
  9. package/db/migrations/019-create-memory-events.sql +18 -0
  10. package/db/migrations/020-create-audit-findings.sql +18 -0
  11. package/db/migrations/021-create-memory-truth.sql +20 -0
  12. package/db/migrations/022-create-channel-summaries.sql +9 -0
  13. package/db/migrations/023-create-channel-summary-state.sql +9 -0
  14. package/db/migrations/024-add-event-date.sql +9 -0
  15. package/db/migrations/025-extend-kind-check.sql +59 -0
  16. package/dist/config-loader.d.ts +1 -1
  17. package/dist/config-loader.js +3 -3
  18. package/dist/db-adapter/base-adapter.d.ts +2 -2
  19. package/dist/db-adapter/index.js +2 -8
  20. package/dist/db-adapter/node-sqlite-adapter.d.ts +6 -1
  21. package/dist/db-adapter/node-sqlite-adapter.js +99 -45
  22. package/dist/db-manager.d.ts +32 -4
  23. package/dist/db-manager.js +133 -8
  24. package/dist/decision-formatter.d.ts +2 -0
  25. package/dist/embedding-server/mobile/session-manager.js +22 -7
  26. package/dist/embeddings.d.ts +2 -2
  27. package/dist/embeddings.js +2 -2
  28. package/dist/index.d.ts +5 -1
  29. package/dist/index.js +31 -3
  30. package/dist/mama-api.d.ts +67 -2
  31. package/dist/mama-api.js +295 -80
  32. package/dist/memory/api.d.ts +81 -0
  33. package/dist/memory/api.js +972 -0
  34. package/dist/memory/bootstrap-builder.d.ts +10 -0
  35. package/dist/memory/bootstrap-builder.js +66 -0
  36. package/dist/memory/channel-summary-state-store.d.ts +19 -0
  37. package/dist/memory/channel-summary-state-store.js +223 -0
  38. package/dist/memory/channel-summary-store.d.ts +8 -0
  39. package/dist/memory/channel-summary-store.js +41 -0
  40. package/dist/memory/event-store.d.ts +5 -0
  41. package/dist/memory/event-store.js +72 -0
  42. package/dist/memory/evolution-engine.d.ts +22 -0
  43. package/dist/memory/evolution-engine.js +133 -0
  44. package/dist/memory/extraction-prompt.d.ts +4 -0
  45. package/dist/memory/extraction-prompt.js +89 -0
  46. package/dist/memory/finding-store.d.ts +5 -0
  47. package/dist/memory/finding-store.js +75 -0
  48. package/dist/memory/profile-builder.d.ts +3 -0
  49. package/dist/memory/profile-builder.js +23 -0
  50. package/dist/memory/scope-store.d.ts +5 -0
  51. package/dist/memory/scope-store.js +13 -0
  52. package/dist/memory/truth-store.d.ts +11 -0
  53. package/dist/memory/truth-store.js +102 -0
  54. package/dist/memory/types.d.ts +267 -0
  55. package/dist/memory/types.js +83 -0
  56. package/package.json +4 -1
package/dist/index.js CHANGED
@@ -12,9 +12,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.selectTopDecisions = exports.calculateRelevance = exports.DEFAULT_CONFIG = exports.getConfigPath = exports.updateConfig = exports.getCacheDir = exports.getEmbeddingDim = exports.getModelName = exports.loadConfig = 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.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;
16
- 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 = 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 = void 0;
17
- 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 = void 0;
15
+ 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;
16
+ 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.listRecentMemoryEvents = 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;
17
+ 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 = exports.DatabaseError = exports.ValidationError = exports.NotFoundError = exports.MAMAError = exports.formatTimeAgo = exports.DebugLogger = exports.error = exports.warn = exports.info = exports.debug = exports.logSearching = void 0;
18
+ exports.notifyInsight = exports.FALLBACK_MODEL = exports.DEFAULT_MODEL = exports.listModels = exports.isAvailable = void 0;
18
19
  // Embeddings
19
20
  var embeddings_js_1 = require("./embeddings.js");
20
21
  Object.defineProperty(exports, "generateEmbedding", { enumerable: true, get: function () { return embeddings_js_1.generateEmbedding; } });
@@ -51,6 +52,8 @@ Object.defineProperty(exports, "querySemanticEdges", { enumerable: true, get: fu
51
52
  Object.defineProperty(exports, "updateDecisionOutcome", { enumerable: true, get: function () { return db_manager_js_1.updateDecisionOutcome; } });
52
53
  Object.defineProperty(exports, "getPreparedStmt", { enumerable: true, get: function () { return db_manager_js_1.getPreparedStmt; } });
53
54
  Object.defineProperty(exports, "getDbPath", { enumerable: true, get: function () { return db_manager_js_1.getDbPath; } });
55
+ Object.defineProperty(exports, "fts5Search", { enumerable: true, get: function () { return db_manager_js_1.fts5Search; } });
56
+ Object.defineProperty(exports, "reindexEmbeddings", { enumerable: true, get: function () { return db_manager_js_1.reindexEmbeddings; } });
54
57
  // Database adapter
55
58
  var index_js_1 = require("./db-adapter/index.js");
56
59
  Object.defineProperty(exports, "createAdapter", { enumerable: true, get: function () { return index_js_1.createAdapter; } });
@@ -70,6 +73,31 @@ Object.defineProperty(exports, "DEFAULT_DB_PATH", { enumerable: true, get: funct
70
73
  // MAMA API
71
74
  const mama_api_js_1 = __importDefault(require("./mama-api.js"));
72
75
  exports.mama = mama_api_js_1.default;
76
+ // Memory V2
77
+ var types_js_1 = require("./memory/types.js");
78
+ Object.defineProperty(exports, "MEMORY_SCOPE_KINDS", { enumerable: true, get: function () { return types_js_1.MEMORY_SCOPE_KINDS; } });
79
+ Object.defineProperty(exports, "MEMORY_KINDS", { enumerable: true, get: function () { return types_js_1.MEMORY_KINDS; } });
80
+ Object.defineProperty(exports, "MEMORY_STATUSES", { enumerable: true, get: function () { return types_js_1.MEMORY_STATUSES; } });
81
+ Object.defineProperty(exports, "MEMORY_EDGE_TYPES", { enumerable: true, get: function () { return types_js_1.MEMORY_EDGE_TYPES; } });
82
+ Object.defineProperty(exports, "createEmptyRecallBundle", { enumerable: true, get: function () { return types_js_1.createEmptyRecallBundle; } });
83
+ var api_js_1 = require("./memory/api.js");
84
+ Object.defineProperty(exports, "saveMemory", { enumerable: true, get: function () { return api_js_1.saveMemory; } });
85
+ Object.defineProperty(exports, "recallMemory", { enumerable: true, get: function () { return api_js_1.recallMemory; } });
86
+ Object.defineProperty(exports, "buildProfile", { enumerable: true, get: function () { return api_js_1.buildProfile; } });
87
+ Object.defineProperty(exports, "ingestMemory", { enumerable: true, get: function () { return api_js_1.ingestMemory; } });
88
+ Object.defineProperty(exports, "evolveMemory", { enumerable: true, get: function () { return api_js_1.evolveMemory; } });
89
+ Object.defineProperty(exports, "buildMemoryBootstrap", { enumerable: true, get: function () { return api_js_1.buildMemoryBootstrap; } });
90
+ Object.defineProperty(exports, "createAuditAck", { enumerable: true, get: function () { return api_js_1.createAuditAck; } });
91
+ Object.defineProperty(exports, "recordMemoryAudit", { enumerable: true, get: function () { return api_js_1.recordMemoryAudit; } });
92
+ Object.defineProperty(exports, "ingestConversation", { enumerable: true, get: function () { return api_js_1.ingestConversation; } });
93
+ Object.defineProperty(exports, "setExtractionFn", { enumerable: true, get: function () { return api_js_1.setExtractionFn; } });
94
+ Object.defineProperty(exports, "upsertChannelSummary", { enumerable: true, get: function () { return api_js_1.upsertChannelSummary; } });
95
+ Object.defineProperty(exports, "getChannelSummary", { enumerable: true, get: function () { return api_js_1.getChannelSummary; } });
96
+ var extraction_prompt_js_1 = require("./memory/extraction-prompt.js");
97
+ Object.defineProperty(exports, "buildExtractionPrompt", { enumerable: true, get: function () { return extraction_prompt_js_1.buildExtractionPrompt; } });
98
+ Object.defineProperty(exports, "parseExtractionResponse", { enumerable: true, get: function () { return extraction_prompt_js_1.parseExtractionResponse; } });
99
+ var event_store_js_1 = require("./memory/event-store.js");
100
+ Object.defineProperty(exports, "listRecentMemoryEvents", { enumerable: true, get: function () { return event_store_js_1.listRecentMemoryEvents; } });
73
101
  // Config loader
74
102
  var config_loader_js_1 = require("./config-loader.js");
75
103
  Object.defineProperty(exports, "loadConfig", { enumerable: true, get: function () { return config_loader_js_1.loadConfig; } });
@@ -19,6 +19,9 @@
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';
23
+ import { listOpenAuditFindings } from './memory/finding-store.js';
24
+ import { listRecentMemoryEvents } from './memory/event-store.js';
22
25
  /**
23
26
  * Parameters for mama.save()
24
27
  */
@@ -32,6 +35,13 @@ interface SaveParams {
32
35
  failure_reason?: string | null;
33
36
  limitation?: string | null;
34
37
  trust_context?: Record<string, unknown> | null;
38
+ is_static?: number;
39
+ scopes?: Array<{
40
+ kind: 'global' | 'user' | 'channel' | 'project';
41
+ id: string;
42
+ }>;
43
+ /** ISO 8601 date string for when the event actually occurred (e.g. "2023-01-15") */
44
+ event_date?: string | null;
35
45
  }
36
46
  /**
37
47
  * Similar decision result from search
@@ -43,6 +53,7 @@ interface SimilarDecision {
43
53
  reasoning?: string;
44
54
  similarity?: number;
45
55
  created_at?: number | string;
56
+ event_date?: string | null;
46
57
  }
47
58
  /**
48
59
  * Search result from mama.search()
@@ -394,7 +405,7 @@ export interface QualityReport {
394
405
  * outcome: 'success'
395
406
  * });
396
407
  */
397
- declare function save({ topic, decision, reasoning, confidence, type, outcome, failure_reason, limitation, trust_context, }: SaveParams): Promise<SaveResult>;
408
+ declare function save({ topic, decision, reasoning, confidence, type, outcome, failure_reason, limitation, trust_context: _trust_context, is_static, scopes: inputScopes, event_date, }: SaveParams): Promise<SaveResult>;
398
409
  /**
399
410
  * Recall decisions by topic
400
411
  *
@@ -485,6 +496,38 @@ interface UpdateOutcomeParams {
485
496
  limitation?: string | null;
486
497
  }
487
498
  declare function updateOutcome(decisionId: string, { outcome, failure_reason, limitation }: UpdateOutcomeParams): Promise<void>;
499
+ /**
500
+ * Expand search results with graph context (Phase 1 - Graph-Enhanced Retrieval)
501
+ *
502
+ * For each candidate decision:
503
+ * 1. Add supersedes chain (evolution history)
504
+ * 2. Add semantic edges (refines, contradicts)
505
+ * 3. Deduplicate by ID
506
+ * 4. Re-rank by relevance (primary candidates ranked higher)
507
+ *
508
+ * @param {Array} candidates - Initial search results from vector/keyword search
509
+ * @returns {Promise<Array>} Graph-enhanced results with evolution context
510
+ */
511
+ interface SearchCandidate {
512
+ id: string;
513
+ topic: string;
514
+ decision: string;
515
+ reasoning?: string | null;
516
+ confidence?: number;
517
+ similarity?: number;
518
+ created_at?: number | string;
519
+ graph_source?: string;
520
+ graph_rank?: number;
521
+ related_to?: string | null;
522
+ edge_reason?: string | null;
523
+ recency_score?: number;
524
+ recency_age_days?: number;
525
+ final_score?: number;
526
+ outcome?: string | null;
527
+ failure_reason?: string | null;
528
+ is_static?: number;
529
+ }
530
+ declare function expandWithGraph(candidates: SearchCandidate[]): Promise<SearchCandidate[]>;
488
531
  /**
489
532
  * Suggest relevant decisions based on user question
490
533
  *
@@ -520,6 +563,11 @@ interface SuggestFunctionOptions {
520
563
  recencyScale?: number;
521
564
  recencyDecay?: number;
522
565
  disableRecency?: boolean;
566
+ topicPrefix?: string;
567
+ scopes?: Array<{
568
+ kind: 'global' | 'user' | 'channel' | 'project';
569
+ id: string;
570
+ }>;
523
571
  }
524
572
  declare function suggest(userQuestion: string, options?: SuggestFunctionOptions): Promise<any>;
525
573
  /**
@@ -536,6 +584,10 @@ declare function suggest(userQuestion: string, options?: SuggestFunctionOptions)
536
584
  interface ListDecisionsOptions {
537
585
  limit?: number;
538
586
  format?: 'json' | 'markdown';
587
+ scopes?: Array<{
588
+ kind: 'global' | 'user' | 'channel' | 'project';
589
+ id: string;
590
+ }>;
539
591
  }
540
592
  declare function listDecisions(options?: ListDecisionsOptions): Promise<DecisionRecord[] | string>;
541
593
  /**
@@ -978,9 +1030,21 @@ declare function generateQualityReport(options?: QualityReportOptions): string |
978
1030
  declare const mama: {
979
1031
  save: typeof save;
980
1032
  suggest: typeof suggest;
1033
+ saveMemory: typeof saveMemory;
1034
+ recallMemory: typeof recallMemory;
981
1035
  list: typeof listDecisions;
982
1036
  listCheckpoints: typeof listCheckpoints;
983
1037
  updateOutcome: typeof updateOutcome;
1038
+ buildProfile: typeof buildProfile;
1039
+ ingestMemory: typeof ingestMemory;
1040
+ evolveMemory: typeof evolveMemory;
1041
+ buildMemoryBootstrap: typeof buildMemoryBootstrap;
1042
+ createAuditAck: typeof createAuditAck;
1043
+ recordMemoryAudit: typeof recordMemoryAudit;
1044
+ upsertChannelSummary: typeof upsertChannelSummary;
1045
+ getChannelSummary: typeof getChannelSummary;
1046
+ listAuditFindings: typeof listOpenAuditFindings;
1047
+ listRecentMemoryEvents: typeof listRecentMemoryEvents;
984
1048
  saveCheckpoint: typeof saveCheckpoint;
985
1049
  loadCheckpoint: typeof loadCheckpoint;
986
1050
  recall: typeof recall;
@@ -1003,7 +1067,8 @@ declare const mama: {
1003
1067
  verifyBackupExists: typeof verifyBackupExists;
1004
1068
  deleteAutoLinks: typeof deleteAutoLinks;
1005
1069
  validateCleanupResult: typeof validateCleanupResult;
1070
+ expandWithGraph: typeof expandWithGraph;
1006
1071
  };
1007
- export { save, suggest, listDecisions as list, listCheckpoints, updateOutcome, saveCheckpoint, loadCheckpoint, recall, proposeLink, approveLink, rejectLink, getPendingLinks, deprecateAutoLinks, calculateCoverage, calculateQuality, generateQualityReport, logRestartAttempt, calculateRestartSuccessRate, calculateRestartLatency, getRestartMetrics, scanAutoLinks, createLinkBackup, generatePreCleanupReport, restoreLinkBackup, verifyBackupExists, deleteAutoLinks, validateCleanupResult, };
1072
+ 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, };
1008
1073
  export default mama;
1009
1074
  //# sourceMappingURL=mama-api.d.ts.map