@memoire-ai/mcp-runtime 0.1.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.
@@ -0,0 +1,4 @@
1
+
2
+ > @memoire-ai/mcp-runtime@0.1.0 build /Users/dekai/Documents/esprit/Memoire/packages/mcp-runtime
3
+ > tsc
4
+
@@ -0,0 +1,13 @@
1
+
2
+ > @memoire/mcp-runtime@0.1.0 test /Users/dekai/Documents/esprit/Memoire/packages/mcp-runtime
3
+ > node --test dist/*.test.js
4
+
5
+ ✔ handoff MCP tools save, list, and fetch shared handoffs (16.080292ms)
6
+ ℹ tests 1
7
+ ℹ suites 0
8
+ ℹ pass 1
9
+ ℹ fail 0
10
+ ℹ cancelled 0
11
+ ℹ skipped 0
12
+ ℹ todo 0
13
+ ℹ duration_ms 271.757875
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Inline AST parser for MCP runtime.
3
+ * Self-contained — no external deps beyond Node.js builtins.
4
+ * Re-exports the core parsing functionality needed by MCP tools.
5
+ */
6
+ export type SymbolKind = 'function' | 'class' | 'method' | 'interface' | 'type' | 'struct' | 'enum' | 'trait' | 'impl' | 'module' | 'constant' | 'variable' | 'property';
7
+ export interface CodeSymbol {
8
+ name: string;
9
+ kind: SymbolKind;
10
+ signature: string;
11
+ lineStart: number;
12
+ lineEnd: number;
13
+ exported: boolean;
14
+ docstring?: string;
15
+ children?: CodeSymbol[];
16
+ }
17
+ export interface FileOutline {
18
+ filePath: string;
19
+ language: string;
20
+ totalLines: number;
21
+ imports: string[];
22
+ symbols: CodeSymbol[];
23
+ foldedTokenEstimate: number;
24
+ }
25
+ export interface SearchResult {
26
+ symbol: CodeSymbol;
27
+ filePath: string;
28
+ language: string;
29
+ score: number;
30
+ context?: string;
31
+ }
32
+ export declare function parseFile(content: string, filePath: string): FileOutline;
33
+ export declare function formatOutline(fp: string, lang: string, total: number, imports: string[], symbols: CodeSymbol[]): string;
34
+ export declare function smartSearch(opts: {
35
+ query: string;
36
+ rootDir: string;
37
+ maxResults?: number;
38
+ kind?: SymbolKind;
39
+ }): SearchResult[];
40
+ export declare function smartUnfold(filePath: string, symbolName: string): {
41
+ filePath: string;
42
+ symbolName: string;
43
+ kind: SymbolKind;
44
+ lineStart: number;
45
+ lineEnd: number;
46
+ source: string;
47
+ tokenEstimate: number;
48
+ } | null;
49
+ //# sourceMappingURL=ast-parser-inline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast-parser-inline.d.ts","sourceRoot":"","sources":["../src/ast-parser-inline.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,MAAM,UAAU,GAClB,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,GACtD,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAC/C,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;AAEzC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAoJD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAaxE;AAID,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAQvH;AAQD,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,UAAU,CAAA;CAAE,GAAG,YAAY,EAAE,CAsC5H;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAe9M"}
@@ -0,0 +1,278 @@
1
+ /**
2
+ * Inline AST parser for MCP runtime.
3
+ * Self-contained — no external deps beyond Node.js builtins.
4
+ * Re-exports the core parsing functionality needed by MCP tools.
5
+ */
6
+ import { readFileSync, readdirSync, statSync } from 'node:fs';
7
+ import { extname, join, relative } from 'node:path';
8
+ const EXT_MAP = {
9
+ '.ts': 'typescript', '.tsx': 'tsx', '.js': 'javascript', '.jsx': 'javascript',
10
+ '.mjs': 'javascript', '.cjs': 'javascript', '.py': 'python', '.pyw': 'python',
11
+ '.go': 'go', '.rs': 'rust', '.rb': 'ruby', '.java': 'java',
12
+ '.c': 'c', '.h': 'c', '.cpp': 'cpp', '.cc': 'cpp', '.cxx': 'cpp', '.hpp': 'cpp',
13
+ };
14
+ const SKIP = new Set(['node_modules', '.git', '.next', 'dist', 'build', 'out', '.turbo', 'coverage', '__pycache__', 'target', 'vendor']);
15
+ const MAX_SIZE = 512 * 1024;
16
+ const TS_PATTERNS = {
17
+ functions: /^(?:export\s+)?(?:async\s+)?function\s+(\w+)\s*(?:<[^>]*>)?\s*\([^)]*\)/gm,
18
+ classes: /^(?:export\s+)?(?:abstract\s+)?class\s+(\w+)(?:\s+extends\s+\w+)?(?:\s+implements\s+[\w,\s]+)?/gm,
19
+ imports: /^import\s+.*?from\s+['"][^'"]+['"]/gm,
20
+ interfaces: /^(?:export\s+)?interface\s+(\w+)(?:\s+extends\s+[\w,\s<>]+)?/gm,
21
+ types: /^(?:export\s+)?type\s+(\w+)\s*(?:<[^>]*>)?\s*=/gm,
22
+ enums: /^(?:export\s+)?(?:const\s+)?enum\s+(\w+)/gm,
23
+ constants: /^(?:export\s+)?const\s+(\w+)\s*(?::\s*[^=]+)?\s*=/gm,
24
+ methods: /^\s+(?:async\s+)?(?:static\s+)?(?:readonly\s+)?(\w+)\s*(?:<[^>]*>)?\s*\([^)]*\)/gm,
25
+ };
26
+ const PY_PATTERNS = {
27
+ functions: /^(?:async\s+)?def\s+(\w+)\s*\([^)]*\)/gm,
28
+ classes: /^class\s+(\w+)(?:\([^)]*\))?:/gm,
29
+ imports: /^(?:import\s+\S+|from\s+\S+\s+import\s+.+)/gm,
30
+ constants: /^([A-Z][A-Z_0-9]+)\s*(?::\s*\w+)?\s*=/gm,
31
+ methods: /^\s{4}(?:async\s+)?def\s+(\w+)\s*\([^)]*\)/gm,
32
+ };
33
+ const GO_PATTERNS = {
34
+ functions: /^func\s+(\w+)\s*(?:\([^)]*\))?\s*\([^)]*\)/gm,
35
+ classes: /^type\s+(\w+)\s+struct\s*\{/gm,
36
+ imports: /^import\s+(?:\([\s\S]*?\)|\S+)/gm,
37
+ interfaces: /^type\s+(\w+)\s+interface\s*\{/gm,
38
+ constants: /^(?:const|var)\s+(\w+)\s/gm,
39
+ };
40
+ const RUST_PATTERNS = {
41
+ functions: /^(?:pub(?:\([\w:]+\))?\s+)?(?:async\s+)?fn\s+(\w+)(?:<[^>]*>)?\s*\(/gm,
42
+ classes: /^(?:pub(?:\([\w:]+\))?\s+)?struct\s+(\w+)/gm,
43
+ imports: /^use\s+[\w:]+/gm,
44
+ enums: /^(?:pub(?:\([\w:]+\))?\s+)?enum\s+(\w+)/gm,
45
+ traits: /^(?:pub(?:\([\w:]+\))?\s+)?trait\s+(\w+)/gm,
46
+ };
47
+ const JAVA_PATTERNS = {
48
+ functions: /^\s*(?:public|private|protected)?\s*(?:static\s+)?(?:synchronized\s+)?(?:\w+(?:<[^>]*>)?\s+)(\w+)\s*\(/gm,
49
+ classes: /^\s*(?:public\s+)?(?:abstract\s+)?(?:final\s+)?class\s+(\w+)/gm,
50
+ imports: /^import\s+[\w.]+;/gm,
51
+ interfaces: /^\s*(?:public\s+)?interface\s+(\w+)/gm,
52
+ enums: /^\s*(?:public\s+)?enum\s+(\w+)/gm,
53
+ };
54
+ const C_PATTERNS = {
55
+ functions: /^(?:\w+\s+)+(\w+)\s*\([^)]*\)\s*\{/gm,
56
+ classes: /^(?:typedef\s+)?struct\s+(\w+)/gm,
57
+ imports: /^#include\s+[<"][^>"]+[>"]/gm,
58
+ enums: /^(?:typedef\s+)?enum\s+(\w+)/gm,
59
+ constants: /^#define\s+(\w+)/gm,
60
+ };
61
+ const PATTERNS = {
62
+ typescript: TS_PATTERNS, tsx: TS_PATTERNS, javascript: TS_PATTERNS,
63
+ python: PY_PATTERNS, go: GO_PATTERNS, rust: RUST_PATTERNS,
64
+ java: JAVA_PATTERNS, ruby: { ...PY_PATTERNS, classes: /^\s*class\s+(\w+)(?:\s*<\s*\w+)?/gm },
65
+ c: C_PATTERNS, cpp: { ...C_PATTERNS, classes: /^(?:class|struct)\s+(\w+)(?:\s*:\s*(?:public|private|protected)\s+\w+)?/gm },
66
+ };
67
+ const NOISE = new Set(['if', 'for', 'while', 'switch', 'return', 'else', 'try', 'catch']);
68
+ function detectLang(fp) { return EXT_MAP[extname(fp).toLowerCase()] ?? null; }
69
+ function findBlockEnd(lines, idx, lang) {
70
+ if (lang === 'python' || lang === 'ruby') {
71
+ const si = lines[idx]?.search(/\S/) ?? 0;
72
+ for (let i = idx + 1; i < lines.length; i++) {
73
+ const l = lines[i];
74
+ if (l.trim() === '')
75
+ continue;
76
+ if (l.search(/\S/) <= si)
77
+ return i;
78
+ }
79
+ return lines.length;
80
+ }
81
+ let depth = 0, found = false;
82
+ for (let i = idx; i < lines.length; i++) {
83
+ for (const ch of lines[i]) {
84
+ if (ch === '{') {
85
+ depth++;
86
+ found = true;
87
+ }
88
+ if (ch === '}')
89
+ depth--;
90
+ }
91
+ if (found && depth <= 0)
92
+ return i + 1;
93
+ }
94
+ return Math.min(idx + 20, lines.length);
95
+ }
96
+ function extractDoc(lines, idx) {
97
+ const docs = [];
98
+ for (let i = idx - 1; i >= Math.max(0, idx - 15); i--) {
99
+ const l = lines[i].trim();
100
+ if (l.endsWith('*/')) {
101
+ for (let j = i; j >= Math.max(0, i - 20); j--) {
102
+ docs.unshift(lines[j].trim());
103
+ if (l.startsWith('/**') || l.startsWith('/*'))
104
+ break;
105
+ }
106
+ return docs.join('\n');
107
+ }
108
+ if (l.startsWith('//') || l.startsWith('#')) {
109
+ docs.unshift(l);
110
+ continue;
111
+ }
112
+ break;
113
+ }
114
+ return docs.length ? docs.join('\n') : undefined;
115
+ }
116
+ function extractSymbols(content, lines, lang, pats) {
117
+ const syms = [];
118
+ const extract = (rx, kind, ng = 1) => {
119
+ rx.lastIndex = 0;
120
+ let m;
121
+ while ((m = rx.exec(content)) !== null) {
122
+ const ls = content.substring(0, m.index).split('\n').length;
123
+ const name = m[ng];
124
+ if (!name || name.length < 2 || NOISE.has(name))
125
+ continue;
126
+ const sig = m[0].trim();
127
+ syms.push({ name, kind, signature: sig, lineStart: ls, lineEnd: findBlockEnd(lines, ls - 1, lang), exported: /^export\s/.test(sig) || /^pub[\s(]/.test(sig), docstring: extractDoc(lines, ls - 1) });
128
+ }
129
+ };
130
+ extract(pats.functions, 'function');
131
+ extract(pats.classes, 'class');
132
+ if (pats.interfaces)
133
+ extract(pats.interfaces, 'interface');
134
+ if (pats.types)
135
+ extract(pats.types, 'type');
136
+ if (pats.enums)
137
+ extract(pats.enums, 'enum');
138
+ if (pats.traits)
139
+ extract(pats.traits, 'trait');
140
+ if (pats.constants)
141
+ extract(pats.constants, 'constant');
142
+ if (pats.methods)
143
+ extract(pats.methods, 'method');
144
+ syms.sort((a, b) => a.lineStart - b.lineStart);
145
+ // Nest methods
146
+ const cls = syms.filter(s => s.kind === 'class' || s.kind === 'struct' || s.kind === 'interface');
147
+ const methods = syms.filter(s => s.kind === 'method');
148
+ for (const m of methods) {
149
+ const p = cls.find(c => m.lineStart > c.lineStart && m.lineEnd <= c.lineEnd);
150
+ if (p) {
151
+ if (!p.children)
152
+ p.children = [];
153
+ p.children.push(m);
154
+ }
155
+ }
156
+ const nested = new Set(cls.flatMap(c => (c.children ?? []).map(m => `${m.name}:${m.lineStart}`)));
157
+ return syms.filter(s => !(s.kind === 'method' && nested.has(`${s.name}:${s.lineStart}`)));
158
+ }
159
+ export function parseFile(content, filePath) {
160
+ const language = detectLang(filePath);
161
+ if (!language)
162
+ return { filePath, language: 'unknown', totalLines: 0, imports: [], symbols: [], foldedTokenEstimate: 0 };
163
+ const lines = content.split('\n');
164
+ const pats = PATTERNS[language];
165
+ if (!pats)
166
+ return { filePath, language, totalLines: lines.length, imports: [], symbols: [], foldedTokenEstimate: 0 };
167
+ const imports = [];
168
+ pats.imports.lastIndex = 0;
169
+ let im;
170
+ while ((im = pats.imports.exec(content)) !== null)
171
+ imports.push(im[0].trim());
172
+ const symbols = extractSymbols(content, lines, language, pats);
173
+ const text = formatOutline(filePath, language, lines.length, imports, symbols);
174
+ return { filePath, language, totalLines: lines.length, imports, symbols, foldedTokenEstimate: Math.ceil(text.length / 4) };
175
+ }
176
+ const ICONS = { function: 'ƒ', class: '◆', method: 'ƒ', interface: '◇', type: '⊤', struct: '◆', enum: '▣', trait: '◇', impl: '◆', module: '📦', constant: '●', variable: '○', property: '·' };
177
+ export function formatOutline(fp, lang, total, imports, symbols) {
178
+ const p = [`📁 ${fp} (${lang}, ${total} lines)`];
179
+ if (imports.length)
180
+ p.push(` 📦 Imports: ${imports.length} statements`);
181
+ for (const s of symbols) {
182
+ p.push(` ${ICONS[s.kind] ?? '?'} ${s.kind} ${s.name}${s.exported ? ' [exported]' : ''} (L${s.lineStart}-${s.lineEnd})`);
183
+ for (const c of s.children ?? [])
184
+ p.push(` ${ICONS[c.kind] ?? '?'} ${c.name}(…) (L${c.lineStart}-${c.lineEnd})`);
185
+ }
186
+ return p.join('\n');
187
+ }
188
+ function flat(syms) {
189
+ const r = [];
190
+ for (const s of syms) {
191
+ r.push(s);
192
+ if (s.children)
193
+ r.push(...s.children);
194
+ }
195
+ return r;
196
+ }
197
+ export function smartSearch(opts) {
198
+ const { query, rootDir, maxResults = 20, kind } = opts;
199
+ const ql = query.toLowerCase();
200
+ const results = [];
201
+ const walk = (dir, depth) => {
202
+ if (depth > 10)
203
+ return;
204
+ try {
205
+ for (const e of readdirSync(dir, { withFileTypes: true })) {
206
+ if (e.name.startsWith('.') || SKIP.has(e.name))
207
+ continue;
208
+ const fp = join(dir, e.name);
209
+ if (e.isDirectory()) {
210
+ walk(fp, depth + 1);
211
+ continue;
212
+ }
213
+ if (!e.isFile())
214
+ continue;
215
+ const lang = detectLang(fp);
216
+ if (!lang)
217
+ continue;
218
+ try {
219
+ if (statSync(fp).size > MAX_SIZE)
220
+ continue;
221
+ }
222
+ catch {
223
+ continue;
224
+ }
225
+ try {
226
+ const content = readFileSync(fp, 'utf-8');
227
+ const outline = parseFile(content, fp);
228
+ for (const sym of flat(outline.symbols)) {
229
+ if (kind && sym.kind !== kind)
230
+ continue;
231
+ const nl = sym.name.toLowerCase(), sl = sym.signature.toLowerCase();
232
+ let score = 0;
233
+ if (nl === ql)
234
+ score = 10;
235
+ else if (nl.startsWith(ql))
236
+ score = 7;
237
+ else if (nl.includes(ql))
238
+ score = 5;
239
+ else if (nl.replace(/([a-z])([A-Z])/g, '$1_$2').toLowerCase().split(/[_\s]+/).some(p => p.startsWith(ql)))
240
+ score = 4;
241
+ else if (sl.includes(ql))
242
+ score = 1;
243
+ if (score >= 2) {
244
+ if (sym.exported)
245
+ score += 1;
246
+ results.push({ symbol: sym, filePath: relative(rootDir, fp), language: lang, score, context: content.split('\n')[sym.lineStart - 1]?.trim() });
247
+ }
248
+ }
249
+ }
250
+ catch { /* skip */ }
251
+ }
252
+ }
253
+ catch { /* skip */ }
254
+ };
255
+ walk(rootDir, 0);
256
+ results.sort((a, b) => b.score - a.score);
257
+ return results.slice(0, maxResults);
258
+ }
259
+ export function smartUnfold(filePath, symbolName) {
260
+ const content = readFileSync(filePath, 'utf-8');
261
+ const lines = content.split('\n');
262
+ const outline = parseFile(content, filePath);
263
+ const all = flat(outline.symbols);
264
+ let sym = all.find(s => s.name === symbolName) ?? all.find(s => s.name.toLowerCase() === symbolName.toLowerCase());
265
+ if (!sym)
266
+ return null;
267
+ let start = sym.lineStart - 1;
268
+ for (let i = start - 1; i >= Math.max(0, start - 10); i--) {
269
+ const l = lines[i].trim();
270
+ if (l.startsWith('@') || l.startsWith('//') || l.startsWith('#') || l.startsWith('*') || l.startsWith('/**') || l === '')
271
+ start = i;
272
+ else
273
+ break;
274
+ }
275
+ const src = `// 📍 ${filePath} L${start + 1}-${sym.lineEnd}\n${lines.slice(start, sym.lineEnd).join('\n')}`;
276
+ return { filePath, symbolName: sym.name, kind: sym.kind, lineStart: start + 1, lineEnd: sym.lineEnd, source: src, tokenEstimate: Math.ceil(src.length / 4) };
277
+ }
278
+ //# sourceMappingURL=ast-parser-inline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast-parser-inline.js","sourceRoot":"","sources":["../src/ast-parser-inline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import { MemoireClient } from '@memoire-ai/sdk';
3
+ export interface MemoireMcpRuntimeConfig {
4
+ apiUrl: string;
5
+ apiKey: string;
6
+ orgId: string;
7
+ projectId: string;
8
+ userId: string;
9
+ sessionId?: string;
10
+ clientId?: string;
11
+ }
12
+ export declare function createMemoireMcpServer(config: MemoireMcpRuntimeConfig, deps?: {
13
+ client?: MemoireClient;
14
+ }): McpServer;
15
+ export declare function runMemoireStdioServer(config: MemoireMcpRuntimeConfig, deps?: {
16
+ client?: MemoireClient;
17
+ }): Promise<McpServer>;
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,uBAAuB,EAC/B,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,aAAa,CAAA;CAAE,GAChC,SAAS,CAg5CX;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,uBAAuB,EAC/B,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,aAAa,CAAA;CAAE,GAChC,OAAO,CAAC,SAAS,CAAC,CAMpB"}