memobank-cli 0.2.0 → 0.4.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 (70) hide show
  1. package/dist/cli.js +95 -12
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/capture.d.ts +1 -0
  4. package/dist/commands/capture.d.ts.map +1 -1
  5. package/dist/commands/capture.js +14 -4
  6. package/dist/commands/capture.js.map +1 -1
  7. package/dist/commands/install.d.ts +1 -0
  8. package/dist/commands/install.d.ts.map +1 -1
  9. package/dist/commands/install.js +56 -4
  10. package/dist/commands/install.js.map +1 -1
  11. package/dist/commands/onboarding.d.ts +8 -7
  12. package/dist/commands/onboarding.d.ts.map +1 -1
  13. package/dist/commands/onboarding.js +336 -343
  14. package/dist/commands/onboarding.js.map +1 -1
  15. package/dist/commands/recall.d.ts +4 -2
  16. package/dist/commands/recall.d.ts.map +1 -1
  17. package/dist/commands/recall.js +20 -29
  18. package/dist/commands/recall.js.map +1 -1
  19. package/dist/commands/scan.d.ts +27 -0
  20. package/dist/commands/scan.d.ts.map +1 -0
  21. package/dist/commands/scan.js +147 -0
  22. package/dist/commands/scan.js.map +1 -0
  23. package/dist/commands/team.d.ts +18 -0
  24. package/dist/commands/team.d.ts.map +1 -0
  25. package/dist/commands/team.js +215 -0
  26. package/dist/commands/team.js.map +1 -0
  27. package/dist/config.d.ts.map +1 -1
  28. package/dist/config.js +2 -0
  29. package/dist/config.js.map +1 -1
  30. package/dist/core/embedding.d.ts +1 -1
  31. package/dist/core/embedding.d.ts.map +1 -1
  32. package/dist/core/embedding.js +13 -0
  33. package/dist/core/embedding.js.map +1 -1
  34. package/dist/core/reranker.d.ts +14 -0
  35. package/dist/core/reranker.d.ts.map +1 -0
  36. package/dist/core/reranker.js +64 -0
  37. package/dist/core/reranker.js.map +1 -0
  38. package/dist/core/retriever.d.ts +2 -5
  39. package/dist/core/retriever.d.ts.map +1 -1
  40. package/dist/core/retriever.js +51 -16
  41. package/dist/core/retriever.js.map +1 -1
  42. package/dist/core/sanitizer.d.ts +10 -0
  43. package/dist/core/sanitizer.d.ts.map +1 -1
  44. package/dist/core/sanitizer.js +57 -39
  45. package/dist/core/sanitizer.js.map +1 -1
  46. package/dist/core/store.d.ts +9 -19
  47. package/dist/core/store.d.ts.map +1 -1
  48. package/dist/core/store.js +69 -47
  49. package/dist/core/store.js.map +1 -1
  50. package/dist/engines/lancedb-engine.d.ts.map +1 -1
  51. package/dist/engines/lancedb-engine.js +2 -1
  52. package/dist/engines/lancedb-engine.js.map +1 -1
  53. package/dist/platforms/claude-code.d.ts.map +1 -1
  54. package/dist/platforms/claude-code.js +13 -0
  55. package/dist/platforms/claude-code.js.map +1 -1
  56. package/dist/platforms/gemini.d.ts +7 -0
  57. package/dist/platforms/gemini.d.ts.map +1 -0
  58. package/dist/platforms/gemini.js +87 -0
  59. package/dist/platforms/gemini.js.map +1 -0
  60. package/dist/platforms/qwen.d.ts +7 -0
  61. package/dist/platforms/qwen.d.ts.map +1 -0
  62. package/dist/platforms/qwen.js +87 -0
  63. package/dist/platforms/qwen.js.map +1 -0
  64. package/dist/types.d.ts +20 -0
  65. package/dist/types.d.ts.map +1 -1
  66. package/package.json +3 -2
  67. package/dist/commands/setup.d.ts +0 -9
  68. package/dist/commands/setup.d.ts.map +0 -1
  69. package/dist/commands/setup.js +0 -354
  70. package/dist/commands/setup.js.map +0 -1
package/dist/config.js CHANGED
@@ -107,6 +107,8 @@ function loadConfig(repoRoot) {
107
107
  ...DEFAULT_CONFIG.review,
108
108
  ...loaded?.review,
109
109
  },
110
+ ...(loaded?.team ? { team: loaded.team } : {}),
111
+ ...(loaded?.reranker ? { reranker: loaded.reranker } : {}),
110
112
  };
111
113
  }
112
114
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CH,gCAsCC;AAKD,kCAeC;AAKD,gCASC;AAjHD,uCAAyB;AACzB,2CAA6B;AAC7B,8CAAgC;AAGhC,MAAM,cAAc,GAAe;IACjC,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,EAAE;KAChB;IACD,MAAM,EAAE;QACN,YAAY,EAAE,GAAG;QACjB,KAAK,EAAE,CAAC;KACT;IACD,SAAS,EAAE;QACT,MAAM,EAAE,MAAgB;QACxB,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,wBAAwB;QAC/B,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,SAAS;KACpB;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAI;KAClB;IACD,MAAM,EAAE;QACN,OAAO,EAAE,IAAI;KACd;CACF,CAAC;AAEF;;GAEG;AACH,SAAS,aAAa,CAAC,QAAgB;IACrC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,SAAgB,UAAU,CAAC,QAAgB;IACzC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAE3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAwB,CAAC;QAEzD,sBAAsB;QACtB,OAAO;YACL,OAAO,EAAE;gBACP,GAAG,cAAc,CAAC,OAAO;gBACzB,GAAG,MAAM,EAAE,OAAO;aACnB;YACD,MAAM,EAAE;gBACN,GAAG,cAAc,CAAC,MAAM;gBACxB,GAAG,MAAM,EAAE,MAAM;aAClB;YACD,SAAS,EAAE;gBACT,GAAG,cAAc,CAAC,SAAS;gBAC3B,GAAG,MAAM,EAAE,SAAS;aACrB;YACD,MAAM,EAAE;gBACN,GAAG,cAAc,CAAC,MAAM;gBACxB,GAAG,MAAM,EAAE,MAAM;aAClB;YACD,MAAM,EAAE;gBACN,GAAG,cAAc,CAAC,MAAM;gBACxB,GAAG,MAAM,EAAE,MAAM;aAClB;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,0BAA2B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,QAAgB,EAAE,MAAkB;IAC9D,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE3C,+BAA+B;IAC/B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACjD,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,2BAA4B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,QAAgB,EAAE,WAAmB;IAC9D,MAAM,MAAM,GAAe;QACzB,GAAG,cAAc;QACjB,OAAO,EAAE;YACP,IAAI,EAAE,WAAW;SAClB;KACF,CAAC;IAEF,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * Generates vector embeddings using OpenAI-compatible APIs
4
4
  * Supports: OpenAI, Azure, Ollama, and other compatible providers
5
5
  */
6
- export type EmbeddingProvider = 'openai' | 'azure' | 'ollama' | 'custom';
6
+ export type EmbeddingProvider = 'openai' | 'azure' | 'ollama' | 'jina' | 'custom';
7
7
  export interface EmbeddingConfig {
8
8
  provider: EmbeddingProvider;
9
9
  model: string;
@@ -1 +1 @@
1
- {"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../src/core/embedding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEzE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,eAAe;IAYnC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;;;OAIG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAiBxD;;;;OAIG;IACG,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAmB9D;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IASzC;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE;QAC5B,SAAS,EAAE;YACT,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,GAAG,eAAe,GAAG,IAAI;IAmC1B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAW9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;CA4BpC"}
1
+ {"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../src/core/embedding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAElF,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,eAAe;IAYnC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;;;OAIG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAiBxD;;;;OAIG;IACG,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAmB9D;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IASzC;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE;QAC5B,SAAS,EAAE;YACT,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,GAAG,eAAe,GAAG,IAAI;IAsC1B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAa9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;CAgCpC"}
@@ -28,6 +28,8 @@ class EmbeddingGenerator {
28
28
  return 'http://localhost:11434/v1';
29
29
  case 'azure':
30
30
  return 'https://api.openai.com/v1'; // Azure uses different format
31
+ case 'jina':
32
+ return 'https://api.jina.ai/v1';
31
33
  default:
32
34
  return 'https://api.openai.com/v1';
33
35
  }
@@ -101,6 +103,11 @@ class EmbeddingGenerator {
101
103
  // Ollama doesn't require an API key
102
104
  apiKey = undefined;
103
105
  }
106
+ else if (provider === 'jina') {
107
+ apiKey = process.env.JINA_API_KEY;
108
+ if (!apiKey)
109
+ return null;
110
+ }
104
111
  else {
105
112
  // OpenAI, Azure, etc. need API key from environment
106
113
  apiKey = process.env.OPENAI_API_KEY || process.env.AZURE_API_KEY;
@@ -132,6 +139,8 @@ class EmbeddingGenerator {
132
139
  return 'mxbai-embed-large'; // Popular Ollama embedding model
133
140
  case 'azure':
134
141
  return 'text-embedding-ada-002';
142
+ case 'jina':
143
+ return 'jina-embeddings-v3';
135
144
  default:
136
145
  return 'text-embedding-3-small';
137
146
  }
@@ -150,6 +159,10 @@ class EmbeddingGenerator {
150
159
  'nomic-embed-text': 768,
151
160
  'all-minilm': 384,
152
161
  'all-mpnet-base-v2': 768,
162
+ // Jina
163
+ 'jina-embeddings-v3': 1024,
164
+ 'jina-embeddings-v2-base-en': 768,
165
+ 'jina-embeddings-v2-small-en': 512,
153
166
  };
154
167
  // Try exact match first
155
168
  if (modelDimensions[model]) {
@@ -1 +1 @@
1
- {"version":3,"file":"embedding.js","sourceRoot":"","sources":["../../src/core/embedding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embedding.js","sourceRoot":"","sources":["../../src/core/embedding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Reranker module
3
+ * Supports Jina AI and Cohere reranking APIs
4
+ */
5
+ import { RecallResult } from '../types';
6
+ export type RerankerProvider = 'jina' | 'cohere';
7
+ export interface RerankerConfig {
8
+ provider: RerankerProvider;
9
+ model?: string;
10
+ top_n?: number;
11
+ apiKey?: string;
12
+ }
13
+ export declare function rerank(query: string, results: RecallResult[], config: RerankerConfig): Promise<RecallResult[]>;
14
+ //# sourceMappingURL=reranker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reranker.d.ts","sourceRoot":"","sources":["../../src/core/reranker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEjD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAcD,wBAAsB,MAAM,CAC1B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,YAAY,EAAE,EACvB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,YAAY,EAAE,CAAC,CAazB"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ /**
3
+ * Reranker module
4
+ * Supports Jina AI and Cohere reranking APIs
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.rerank = rerank;
8
+ function getApiKey(provider, override) {
9
+ if (override)
10
+ return override;
11
+ if (provider === 'jina')
12
+ return process.env.JINA_API_KEY || '';
13
+ if (provider === 'cohere')
14
+ return process.env.COHERE_API_KEY || '';
15
+ return '';
16
+ }
17
+ function getDefaultModel(provider) {
18
+ if (provider === 'jina')
19
+ return 'jina-reranker-v2-base-multilingual';
20
+ return 'rerank-v3.5';
21
+ }
22
+ async function rerank(query, results, config) {
23
+ const apiKey = getApiKey(config.provider, config.apiKey);
24
+ if (!apiKey)
25
+ throw new Error(`No API key found for reranker provider: ${config.provider}`);
26
+ const model = config.model || getDefaultModel(config.provider);
27
+ const top_n = config.top_n ?? results.length;
28
+ const documents = results.map(r => `${r.memory.name}: ${r.memory.description}\n${r.memory.content.slice(0, 300)}`);
29
+ if (config.provider === 'jina') {
30
+ return rerankJina(query, results, documents, model, top_n, apiKey);
31
+ }
32
+ else {
33
+ return rerankCohere(query, results, documents, model, top_n, apiKey);
34
+ }
35
+ }
36
+ async function rerankJina(query, results, documents, model, top_n, apiKey) {
37
+ const response = await fetch('https://api.jina.ai/v1/rerank', {
38
+ method: 'POST',
39
+ headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${apiKey}` },
40
+ body: JSON.stringify({ model, query, documents, top_n }),
41
+ });
42
+ if (!response.ok)
43
+ throw new Error(`Jina rerank failed: ${response.status} ${await response.text()}`);
44
+ const data = await response.json();
45
+ return data.results.map(r => ({
46
+ ...results[r.index],
47
+ score: r.relevance_score,
48
+ }));
49
+ }
50
+ async function rerankCohere(query, results, documents, model, top_n, apiKey) {
51
+ const response = await fetch('https://api.cohere.com/v2/rerank', {
52
+ method: 'POST',
53
+ headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${apiKey}` },
54
+ body: JSON.stringify({ model, query, documents, top_n, return_documents: false }),
55
+ });
56
+ if (!response.ok)
57
+ throw new Error(`Cohere rerank failed: ${response.status} ${await response.text()}`);
58
+ const data = await response.json();
59
+ return data.results.map(r => ({
60
+ ...results[r.index],
61
+ score: r.relevance_score,
62
+ }));
63
+ }
64
+ //# sourceMappingURL=reranker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reranker.js","sourceRoot":"","sources":["../../src/core/reranker.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,13 @@
1
1
  /**
2
2
  * Retriever module
3
3
  * Orchestrates engine search and formats output for MEMORY.md injection
4
- * Tracks access patterns for lifecycle management
5
4
  */
6
- import { RecallResult, MemoConfig } from '../types';
5
+ import { RecallResult, MemoConfig, MemoryScope } from '../types';
7
6
  import { EngineAdapter } from '../engines/engine-adapter';
8
7
  /**
9
8
  * Recall memories for a query
10
- * Returns both the results and formatted markdown
11
- * Records access for lifecycle tracking
12
9
  */
13
- export declare function recall(query: string, repoRoot: string, config: MemoConfig, engine?: EngineAdapter): Promise<{
10
+ export declare function recall(query: string, repoRoot: string, config: MemoConfig, engine?: EngineAdapter, scope?: MemoryScope, explain?: boolean): Promise<{
14
11
  results: RecallResult[];
15
12
  markdown: string;
16
13
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"retriever.d.ts","sourceRoot":"","sources":["../../src/core/retriever.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAU1D;;;;GAIG;AACH,wBAAsB,MAAM,CAC1B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,EAClB,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC;IAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CA6BxD;AAoCD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,YAAY,EAAE,EACvB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,CAEN"}
1
+ {"version":3,"file":"retriever.d.ts","sourceRoot":"","sources":["../../src/core/retriever.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAU1D;;GAEG;AACH,wBAAsB,MAAM,CAC1B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,EAClB,MAAM,CAAC,EAAE,aAAa,EACtB,KAAK,GAAE,WAAmB,EAC1B,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC;IAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAiDxD;AAwDD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,YAAY,EAAE,EACvB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,CAEN"}
@@ -2,7 +2,6 @@
2
2
  /**
3
3
  * Retriever module
4
4
  * Orchestrates engine search and formats output for MEMORY.md injection
5
- * Tracks access patterns for lifecycle management
6
5
  */
7
6
  Object.defineProperty(exports, "__esModule", { value: true });
8
7
  exports.recall = recall;
@@ -10,43 +9,70 @@ exports.writeRecallResults = writeRecallResults;
10
9
  const store_1 = require("./store");
11
10
  const text_engine_1 = require("../engines/text-engine");
12
11
  const lifecycle_manager_1 = require("./lifecycle-manager");
13
- // Simple token estimation (rough approximation: ~4 chars per token)
12
+ const reranker_1 = require("./reranker");
14
13
  function estimateTokenCount(text) {
15
14
  return Math.ceil(text.length / 4);
16
15
  }
17
16
  /**
18
17
  * Recall memories for a query
19
- * Returns both the results and formatted markdown
20
- * Records access for lifecycle tracking
21
18
  */
22
- async function recall(query, repoRoot, config, engine) {
23
- // Load all memories
24
- const memories = (0, store_1.loadAll)(repoRoot);
25
- // Use provided engine or default to text engine
19
+ async function recall(query, repoRoot, config, engine, scope = 'all', explain = false) {
20
+ const memories = (0, store_1.loadAll)(repoRoot, scope);
26
21
  const searchEngine = engine || new text_engine_1.TextEngine();
27
- // Run search
22
+ const accessLogs = (0, lifecycle_manager_1.loadAccessLogs)(repoRoot);
28
23
  let results = await searchEngine.search(query, memories, config.memory.top_k);
29
- // Record access for each recalled memory
24
+ // Apply access frequency boost
25
+ results = results.map(result => {
26
+ const log = accessLogs[result.memory.path];
27
+ const accessCount = log?.accessCount ?? 0;
28
+ const boost = Math.min(1.5, 1.0 + Math.log1p(accessCount) / 10);
29
+ return { ...result, score: Math.min(1.0, result.score * boost) };
30
+ });
31
+ results.sort((a, b) => b.score - a.score);
30
32
  for (const result of results) {
31
33
  (0, lifecycle_manager_1.recordAccess)(repoRoot, result.memory.path, query);
32
34
  }
33
- // Truncate if over token budget
34
- let markdown = formatResultsAsMarkdown(results, query, config.embedding.engine, memories.length);
35
+ // Apply reranker if configured
36
+ if (config.reranker?.enabled && results.length > 1) {
37
+ try {
38
+ results = await (0, reranker_1.rerank)(query, results, {
39
+ provider: config.reranker.provider,
40
+ model: config.reranker.model,
41
+ top_n: config.reranker.top_n ?? config.memory.top_k,
42
+ });
43
+ }
44
+ catch (e) {
45
+ // Reranker failure is non-fatal — use original order
46
+ console.warn(`Reranker skipped: ${e.message}`);
47
+ }
48
+ }
49
+ if (explain && results.length > 0 && results.every(r => !r.scoreBreakdown)) {
50
+ console.warn('--explain: score breakdown not available for the current engine.');
51
+ }
52
+ let markdown = formatResultsAsMarkdown(results, query, config.embedding.engine, memories.length, scope, explain);
35
53
  let tokenCount = estimateTokenCount(markdown);
36
54
  if (tokenCount > config.memory.token_budget) {
37
- // Remove results until under budget
38
55
  while (results.length > 0 && tokenCount > config.memory.token_budget) {
39
56
  results.pop();
40
- markdown = formatResultsAsMarkdown(results, query, config.embedding.engine, memories.length);
57
+ markdown = formatResultsAsMarkdown(results, query, config.embedding.engine, memories.length, scope, explain);
41
58
  tokenCount = estimateTokenCount(markdown);
42
59
  }
43
60
  }
44
61
  return { results, markdown };
45
62
  }
63
+ function scopeLabel(scope) {
64
+ if (scope === 'team') {
65
+ return '👥 team';
66
+ }
67
+ if (scope === 'personal') {
68
+ return '👤 personal';
69
+ }
70
+ return '';
71
+ }
46
72
  /**
47
73
  * Format recall results as markdown for MEMORY.md
48
74
  */
49
- function formatResultsAsMarkdown(results, query, engine, totalMemories) {
75
+ function formatResultsAsMarkdown(results, query, engine, totalMemories, scope = 'all', explain = false) {
50
76
  let markdown = `<!-- Last updated: ${new Date().toISOString()} | query: "${query}" | engine: ${engine} | top ${results.length} of ${totalMemories} -->\n\n`;
51
77
  markdown += `## Recalled Memory\n\n`;
52
78
  if (results.length === 0) {
@@ -58,10 +84,19 @@ function formatResultsAsMarkdown(results, query, engine, totalMemories) {
58
84
  const confidenceStr = memory.confidence ? ` · ${memory.confidence} confidence` : '';
59
85
  const tagStr = memory.tags.length > 0 ? ` · tags: ${memory.tags.join(', ')}` : '';
60
86
  const relativePath = memory.path.replace(/^.*\/memobank\//, '');
61
- markdown += `### [${memory.type}] ${memory.name}${confidenceStr}\n`;
87
+ // Show scope label only when results come from both sources
88
+ const showScope = scope === 'all' && memory.scope !== undefined;
89
+ const sourcePart = showScope ? ` | ${scopeLabel(memory.scope)}` : '';
90
+ markdown += `### [score: ${score.toFixed(2)}${sourcePart}] ${memory.name}${confidenceStr}\n`;
91
+ if (explain && result.scoreBreakdown) {
92
+ const b = result.scoreBreakdown;
93
+ const parts = [`keyword(${b.keyword.toFixed(2)})`, `tags(${b.tags.toFixed(2)})`, `recency(${b.recency.toFixed(2)})`];
94
+ markdown += ` matched: ${parts.join(' + ')}\n`;
95
+ }
62
96
  markdown += `> ${memory.description}\n`;
63
97
  markdown += `> \`${relativePath}\`${tagStr}\n\n`;
64
98
  }
99
+ markdown += `---\n*To flag a result: memo correct <file> --reason "not relevant"*\n\n`;
65
100
  }
66
101
  const tokenCount = estimateTokenCount(markdown);
67
102
  markdown += `---\n`;
@@ -1 +1 @@
1
- {"version":3,"file":"retriever.js","sourceRoot":"","sources":["../../src/core/retriever.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retriever.js","sourceRoot":"","sources":["../../src/core/retriever.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,14 @@
6
6
  * Sanitize content by replacing sensitive patterns with [REDACTED]
7
7
  */
8
8
  export declare function sanitize(content: string): string;
9
+ export interface SecretFinding {
10
+ line: number;
11
+ content: string;
12
+ label: string;
13
+ }
14
+ /**
15
+ * Scan content for potential secrets without modifying it.
16
+ * Returns human-readable findings with line numbers.
17
+ */
18
+ export declare function scanForSecrets(content: string): string[];
9
19
  //# sourceMappingURL=sanitizer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizer.d.ts","sourceRoot":"","sources":["../../src/core/sanitizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAyDhD"}
1
+ {"version":3,"file":"sanitizer.d.ts","sourceRoot":"","sources":["../../src/core/sanitizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAyBH;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAkBhD;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAgBxD"}
@@ -5,53 +5,71 @@
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.sanitize = sanitize;
8
+ exports.scanForSecrets = scanForSecrets;
9
+ /** Patterns used both for sanitization and scanning */
10
+ const SECRET_PATTERNS = [
11
+ { pattern: /sk-[A-Za-z0-9]{20,}/g, label: 'OpenAI API key' },
12
+ { pattern: /ghp_[A-Za-z0-9]{36}/g, label: 'GitHub token' },
13
+ { pattern: /Bearer [A-Za-z0-9._-]{20,}/g, label: 'Bearer token' },
14
+ { pattern: /AKIA[0-9A-Z]{16}/g, label: 'AWS access key' },
15
+ { pattern: /eyJ[A-Za-z0-9._-]{50,}\.[A-Za-z0-9._-]+\.[A-Za-z0-9._-]+/g, label: 'JWT token' },
16
+ { pattern: /[A-Z_]+=["']?[A-Za-z0-9/+]{20,}["']?/g, label: '.env secret' },
17
+ // IPv4 private ranges (full octets to avoid matching version numbers/dates)
18
+ { pattern: /\b192\.168\.\d{1,3}\.\d{1,3}\b/g, label: 'private IP (192.168.x.x)' },
19
+ { pattern: /\b10\.\d{1,3}\.\d{1,3}\.\d{1,3}\b/g, label: 'private IP (10.x.x.x)' },
20
+ { pattern: /\b172\.(1[6-9]|2\d|3[01])\.\d{1,3}\.\d{1,3}\b/g, label: 'private IP (172.16-31.x.x)' },
21
+ // IPv6
22
+ { pattern: /\b([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}\b/g, label: 'IPv6 address' },
23
+ // Semantic password/secret patterns
24
+ { pattern: /password\s*(is|=|:)\s*\S+/gi, label: 'password value' },
25
+ { pattern: /secret\s*(is|=|:)\s*\S+/gi, label: 'secret value' },
26
+ { pattern: /token\s*(is|=|:)\s*\S+/gi, label: 'token value' },
27
+ // Chinese-language patterns
28
+ { pattern: /密码[是为::]\s*\S+/g, label: '中文密码' },
29
+ { pattern: /密钥[是为::]\s*\S+/g, label: '中文密钥' },
30
+ ];
8
31
  /**
9
32
  * Sanitize content by replacing sensitive patterns with [REDACTED]
10
33
  */
11
34
  function sanitize(content) {
12
35
  let sanitized = content;
13
- // 1. API keys
14
- // OpenAI: sk-...
15
- sanitized = sanitized.replace(/sk-[A-Za-z0-9]{20,}/g, '[REDACTED]');
16
- // GitHub personal access tokens: ghp_...
17
- sanitized = sanitized.replace(/ghp_[A-Za-z0-9]{36}/g, '[REDACTED]');
18
- // Bearer tokens
19
- sanitized = sanitized.replace(/Bearer [A-Za-z0-9._-]{20,}/g, 'Bearer [REDACTED]');
20
- // 2. IP addresses
21
- // IPv4
22
- sanitized = sanitized.replace(/\b\d{1,3}(\.\d{1,3}){3}\b/g, (match) => {
23
- const parts = match.split('.');
24
- // Check if it's a valid IP (all parts 0-255)
25
- if (parts.every((part) => {
26
- const num = parseInt(part, 10);
27
- return num >= 0 && num <= 255;
28
- })) {
29
- return '[REDACTED]';
30
- }
31
- return match;
32
- });
33
- // IPv6 (simplified pattern)
34
- sanitized = sanitized.replace(/\b([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}\b/g, '[REDACTED]');
35
- // 3. JWT tokens
36
- sanitized = sanitized.replace(/eyJ[A-Za-z0-9._-]{50,}\.[A-Za-z0-9._-]+\.[A-Za-z0-9._-]+/g, '[REDACTED]');
37
- // 4. .env-style variables with long values
38
- sanitized = sanitized.replace(/[A-Z_]+=["']?[A-Za-z0-9/+]{20,}["']?/g, (match) => {
39
- // Replace the value part only
40
- return match.replace(/=["']?[A-Za-z0-9/+]{20,}["']?/, '=[REDACTED]');
41
- });
42
- // 5. AWS Access Keys
43
- sanitized = sanitized.replace(/AKIA[0-9A-Z]{16}/g, '[REDACTED]');
44
- // 6. Generic API keys (alphanumeric with special chars, 20+ chars)
36
+ for (const { pattern } of SECRET_PATTERNS) {
37
+ // Reset lastIndex for global patterns
38
+ pattern.lastIndex = 0;
39
+ sanitized = sanitized.replace(pattern, '[REDACTED]');
40
+ }
41
+ // Generic 20+ char alphanumeric (excludes hashes)
45
42
  sanitized = sanitized.replace(/\b[A-Za-z0-9_\-]{20,}\b/g, (match) => {
46
- // Skip common non-secret patterns
47
- if (/^[a-f0-9]{32}$/.test(match))
48
- return match; // MD5 hashes
49
- if (/^[a-f0-9]{40}$/.test(match))
50
- return match; // SHA1 hashes
51
- if (/^[a-f0-9]{64}$/.test(match))
52
- return match; // SHA256 hashes
43
+ if (/^[a-f0-9]{32}$/.test(match)) {
44
+ return match;
45
+ } // MD5
46
+ if (/^[a-f0-9]{40}$/.test(match)) {
47
+ return match;
48
+ } // SHA1
49
+ if (/^[a-f0-9]{64}$/.test(match)) {
50
+ return match;
51
+ } // SHA256
53
52
  return '[REDACTED]';
54
53
  });
55
54
  return sanitized;
56
55
  }
56
+ /**
57
+ * Scan content for potential secrets without modifying it.
58
+ * Returns human-readable findings with line numbers.
59
+ */
60
+ function scanForSecrets(content) {
61
+ const lines = content.split('\n');
62
+ const findings = [];
63
+ for (let i = 0; i < lines.length; i++) {
64
+ const line = lines[i];
65
+ for (const { pattern, label } of SECRET_PATTERNS) {
66
+ pattern.lastIndex = 0;
67
+ if (pattern.test(line)) {
68
+ findings.push(`line ${i + 1} (${label}): ${line.substring(0, 120)}`);
69
+ break; // one finding per line
70
+ }
71
+ }
72
+ }
73
+ return findings;
74
+ }
57
75
  //# sourceMappingURL=sanitizer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizer.js","sourceRoot":"","sources":["../../src/core/sanitizer.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAKH,4BAyDC;AA5DD;;GAEG;AACH,SAAgB,QAAQ,CAAC,OAAe;IACtC,IAAI,SAAS,GAAG,OAAO,CAAC;IAExB,cAAc;IACd,iBAAiB;IACjB,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,sBAAsB,EAAE,YAAY,CAAC,CAAC;IAEpE,yCAAyC;IACzC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,sBAAsB,EAAE,YAAY,CAAC,CAAC;IAEpE,gBAAgB;IAChB,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,6BAA6B,EAAE,mBAAmB,CAAC,CAAC;IAElF,kBAAkB;IAClB,OAAO;IACP,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC,KAAK,EAAE,EAAE;QACpE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,6CAA6C;QAC7C,IACE,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;YACnB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC/B,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC;QAChC,CAAC,CAAC,EACF,CAAC;YACD,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,4BAA4B;IAC5B,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,6CAA6C,EAAE,YAAY,CAAC,CAAC;IAE3F,gBAAgB;IAChB,SAAS,GAAG,SAAS,CAAC,OAAO,CAC3B,2DAA2D,EAC3D,YAAY,CACb,CAAC;IAEF,2CAA2C;IAC3C,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,uCAAuC,EAAE,CAAC,KAAK,EAAE,EAAE;QAC/E,8BAA8B;QAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,+BAA+B,EAAE,aAAa,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,qBAAqB;IACrB,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;IAEjE,mEAAmE;IACnE,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,KAAK,EAAE,EAAE;QAClE,kCAAkC;QAClC,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,aAAa;QAC7D,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,cAAc;QAC9D,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,gBAAgB;QAChE,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"sanitizer.js","sourceRoot":"","sources":["../../src/core/sanitizer.ts"],"names":[],"mappings":"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"}
@@ -2,30 +2,20 @@
2
2
  * File I/O layer for memobank
3
3
  * Reads and writes .md files with YAML frontmatter
4
4
  */
5
- import { MemoryFile } from '../types';
6
- /**
7
- * Find memobank root directory
8
- * Resolution order:
9
- * 1. --repo CLI flag (passed as parameter)
10
- * 2. MEMOBANK_REPO env var
11
- * 3. meta/config.yaml in cwd or parent dirs (walk up)
12
- * 4. ~/.memobank/<git-repo-name>/
13
- * 5. ~/.memobank/default/
14
- */
5
+ import { MemoryFile, MemoryScope } from '../types';
15
6
  export declare function findRepoRoot(cwd: string, repoFlag?: string): string;
16
- /**
17
- * Load all memory files from a repo
18
- */
19
- export declare function loadAll(repoRoot: string): MemoryFile[];
7
+ export declare function getPersonalDir(repoRoot: string): string;
8
+ export declare function getTeamDir(repoRoot: string): string;
9
+ export declare function loadAll(repoRoot: string, scope?: MemoryScope): MemoryFile[];
20
10
  /**
21
11
  * Load a single memory file
22
12
  */
23
13
  export declare function loadFile(filePath: string): MemoryFile;
24
- /**
25
- * Write a new memory file
26
- * Creates filename from name + created date
27
- */
28
- export declare function writeMemory(repoRoot: string, memory: Omit<MemoryFile, 'path'>): string;
14
+ export declare function writeMemory(repoRoot: string, memory: Omit<MemoryFile, 'path' | 'scope'>): string;
15
+ export declare function migrateToPersonal(repoRoot: string): {
16
+ migrated: string[];
17
+ skipped: string[];
18
+ };
29
19
  /**
30
20
  * Update MEMORY.md with recall results
31
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/core/store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,UAAU,EAA0B,MAAM,UAAU,CAAC;AAI9D;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAwCnE;AASD;;GAEG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CAmBtD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CA4BrD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,MAAM,CAoCtF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EACrD,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,CA8BN;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM5D"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/core/store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,UAAU,EAA0B,WAAW,EAAE,MAAM,UAAU,CAAC;AAI3E,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAsBnE;AAMD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEnD;AAoBD,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,WAAmB,GAAG,UAAU,EAAE,CAqBlF;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAwBrD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,MAAM,CAgChG;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CA4B7F;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EACrD,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,CAwBN;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI5D"}