engram-tools 0.3.1 → 0.3.2
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.
- package/README.md +26 -10
- package/dist/index.js +330 -41
- package/dist/index.js.map +1 -1
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -7,9 +7,9 @@ Shared memory for AI coding agents. Engram lets MCP-compatible agents store what
|
|
|
7
7
|
- MCP server package: `engram-tools`
|
|
8
8
|
- HTTP API for hosted or custom agent integrations
|
|
9
9
|
- Persistent memories by workspace and repo
|
|
10
|
-
- `
|
|
11
|
-
- `
|
|
12
|
-
- `
|
|
10
|
+
- `engram_start` for one-call session setup + smart context loading
|
|
11
|
+
- `engram_smarter` for task-specific context loading when switching tasks
|
|
12
|
+
- `engram_store`, `engram_recall`, `engram_report_outcome`, `engram_get_context`, `engram_skill`, and `engram_setup`
|
|
13
13
|
- Outcome-based confidence updates
|
|
14
14
|
- Plan limits and daily API usage metering
|
|
15
15
|
- Stripe checkout/webhook plan updates
|
|
@@ -23,9 +23,9 @@ Shared memory for AI coding agents. Engram lets MCP-compatible agents store what
|
|
|
23
23
|
npx engram-tools --setup engram_your_api_key
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
-
The setup command writes MCP config for Claude Code and
|
|
26
|
+
The setup command writes MCP config for Claude Code, Cursor, Gemini CLI, Codex, and VS Code/Copilot project config when possible. For Claude Code, it also writes optional slash-command aliases for convenience.
|
|
27
27
|
|
|
28
|
-
After setup, restart your AI tool or start a new session. Most MCP clients load servers only at session startup.
|
|
28
|
+
After setup, restart your AI tool or start a new session. Most MCP clients load servers only at session startup. Start every client the same way: call `engram_start` once with project, repo, stack, role, market, and task.
|
|
29
29
|
|
|
30
30
|
Manual MCP config:
|
|
31
31
|
|
|
@@ -46,7 +46,22 @@ Manual MCP config:
|
|
|
46
46
|
|
|
47
47
|
## Core Tools
|
|
48
48
|
|
|
49
|
-
`
|
|
49
|
+
`engram_start`
|
|
50
|
+
|
|
51
|
+
Start a session in one call. This loads setup guidance and the most relevant memories/skill guides.
|
|
52
|
+
|
|
53
|
+
```json
|
|
54
|
+
{
|
|
55
|
+
"project": "HouseCompass",
|
|
56
|
+
"repo": "housecompass.uk",
|
|
57
|
+
"role": "frontend product engineer",
|
|
58
|
+
"market": "UK property",
|
|
59
|
+
"task": "build the listing detail page",
|
|
60
|
+
"stack": ["Next.js", "TypeScript", "PostgreSQL"]
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
`engram_smarter`
|
|
50
65
|
|
|
51
66
|
Load task-specific memories and matching skill guides in one call.
|
|
52
67
|
|
|
@@ -58,7 +73,7 @@ Load task-specific memories and matching skill guides in one call.
|
|
|
58
73
|
}
|
|
59
74
|
```
|
|
60
75
|
|
|
61
|
-
`
|
|
76
|
+
`engram_cross_pollinate`
|
|
62
77
|
|
|
63
78
|
Find reusable lessons from other repos in the same workspace.
|
|
64
79
|
|
|
@@ -69,15 +84,15 @@ Find reusable lessons from other repos in the same workspace.
|
|
|
69
84
|
}
|
|
70
85
|
```
|
|
71
86
|
|
|
72
|
-
`
|
|
87
|
+
`engram_store`
|
|
73
88
|
|
|
74
89
|
Save a convention, pattern, gotcha, solution, architecture note, or dependency quirk.
|
|
75
90
|
|
|
76
|
-
`
|
|
91
|
+
`engram_recall`
|
|
77
92
|
|
|
78
93
|
Search memories by semantic query, repo, type, or tags.
|
|
79
94
|
|
|
80
|
-
`
|
|
95
|
+
`engram_report_outcome`
|
|
81
96
|
|
|
82
97
|
Report whether a recalled memory helped. This updates confidence and improves future ranking.
|
|
83
98
|
|
|
@@ -91,6 +106,7 @@ https://api.engram.tools
|
|
|
91
106
|
|
|
92
107
|
Useful endpoints:
|
|
93
108
|
|
|
109
|
+
- `POST /api/v1/start`
|
|
94
110
|
- `POST /api/v1/smarter`
|
|
95
111
|
- `POST /api/v1/cross-pollinate`
|
|
96
112
|
- `POST /api/v1/store`
|
package/dist/index.js
CHANGED
|
@@ -5,14 +5,115 @@ import { z } from 'zod';
|
|
|
5
5
|
import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'fs';
|
|
6
6
|
import { join } from 'path';
|
|
7
7
|
import { homedir } from 'os';
|
|
8
|
+
import { execFileSync } from 'child_process';
|
|
9
|
+
function readJsonFile(path) {
|
|
10
|
+
if (!existsSync(path))
|
|
11
|
+
return {};
|
|
12
|
+
return JSON.parse(readFileSync(path, 'utf-8'));
|
|
13
|
+
}
|
|
14
|
+
function writeJsonFile(path, value) {
|
|
15
|
+
const dir = path.replace(/\/[^/]+$/, '');
|
|
16
|
+
if (!existsSync(dir))
|
|
17
|
+
mkdirSync(dir, { recursive: true });
|
|
18
|
+
writeFileSync(path, JSON.stringify(value, null, 2) + '\n');
|
|
19
|
+
}
|
|
20
|
+
function mergeMcpServers(path, serverConfig) {
|
|
21
|
+
const existing = readJsonFile(path);
|
|
22
|
+
const mcpServers = (existing.mcpServers || {});
|
|
23
|
+
mcpServers.engram = serverConfig;
|
|
24
|
+
existing.mcpServers = mcpServers;
|
|
25
|
+
writeJsonFile(path, existing);
|
|
26
|
+
}
|
|
27
|
+
function mergeVsCodeMcp(path, serverConfig) {
|
|
28
|
+
const existing = readJsonFile(path);
|
|
29
|
+
const servers = (existing.servers || {});
|
|
30
|
+
servers.engram = {
|
|
31
|
+
type: 'stdio',
|
|
32
|
+
...serverConfig,
|
|
33
|
+
};
|
|
34
|
+
existing.servers = servers;
|
|
35
|
+
writeJsonFile(path, existing);
|
|
36
|
+
}
|
|
37
|
+
function tomlString(value) {
|
|
38
|
+
return JSON.stringify(value);
|
|
39
|
+
}
|
|
40
|
+
function tomlArray(values) {
|
|
41
|
+
return `[${values.map(tomlString).join(', ')}]`;
|
|
42
|
+
}
|
|
43
|
+
function tomlInlineTable(values) {
|
|
44
|
+
return `{ ${Object.entries(values).map(([key, value]) => `${key} = ${tomlString(value)}`).join(', ')} }`;
|
|
45
|
+
}
|
|
46
|
+
function mergeCodexConfig(path, apiKey) {
|
|
47
|
+
const dir = path.replace(/\/[^/]+$/, '');
|
|
48
|
+
if (!existsSync(dir))
|
|
49
|
+
mkdirSync(dir, { recursive: true });
|
|
50
|
+
const existing = existsSync(path) ? readFileSync(path, 'utf-8') : '';
|
|
51
|
+
const block = [
|
|
52
|
+
'[mcp_servers.engram]',
|
|
53
|
+
'type = "stdio"',
|
|
54
|
+
'command = "npx"',
|
|
55
|
+
`args = ${tomlArray(['-y', 'engram-tools'])}`,
|
|
56
|
+
`env = ${tomlInlineTable({ ENGRAM_API_KEY: apiKey, ENGRAM_API_URL: 'https://api.engram.tools' })}`,
|
|
57
|
+
'',
|
|
58
|
+
].join('\n');
|
|
59
|
+
const pattern = /(?:^|\n)\[mcp_servers\.engram\]\n(?:[^\n[]|\n(?!\[))*\n?/m;
|
|
60
|
+
const next = pattern.test(existing)
|
|
61
|
+
? existing.replace(pattern, `${existing.startsWith('[mcp_servers.engram]') ? '' : '\n'}${block}`)
|
|
62
|
+
: `${existing.trimEnd()}${existing.trim() ? '\n\n' : ''}${block}`;
|
|
63
|
+
writeFileSync(path, next.endsWith('\n') ? next : `${next}\n`);
|
|
64
|
+
}
|
|
65
|
+
function ensureAgentInstruction(path) {
|
|
66
|
+
const snippet = `## Engram Memory
|
|
67
|
+
|
|
68
|
+
At the start of a meaningful coding session, use the Engram MCP server before implementing:
|
|
69
|
+
|
|
70
|
+
1. Call \`engram_start\` with the current project, repo, role, stack, market, and task.
|
|
71
|
+
2. If the work resembles another repo, call \`engram_cross_pollinate\`.
|
|
72
|
+
3. Store useful durable knowledge with \`engram_store\`.
|
|
73
|
+
4. Report whether recalled memories helped with \`engram_report_outcome\`.
|
|
74
|
+
|
|
75
|
+
Use Engram for project conventions, architecture, gotchas, reusable patterns, business/domain context, and handoff knowledge.
|
|
76
|
+
`;
|
|
77
|
+
const existing = existsSync(path) ? readFileSync(path, 'utf-8') : '';
|
|
78
|
+
if (existing.includes('## Engram Memory'))
|
|
79
|
+
return false;
|
|
80
|
+
writeFileSync(path, `${existing.trimEnd()}${existing.trim() ? '\n\n' : ''}${snippet}`);
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
function tryConfigureClaudeCli(serverConfig) {
|
|
84
|
+
if (process.env.ENGRAM_SETUP_SKIP_CLI_HELPERS === '1')
|
|
85
|
+
return false;
|
|
86
|
+
try {
|
|
87
|
+
execFileSync('claude', [
|
|
88
|
+
'mcp',
|
|
89
|
+
'add-json',
|
|
90
|
+
'-s',
|
|
91
|
+
'user',
|
|
92
|
+
'engram',
|
|
93
|
+
JSON.stringify({
|
|
94
|
+
type: 'stdio',
|
|
95
|
+
...serverConfig,
|
|
96
|
+
}),
|
|
97
|
+
], { stdio: 'pipe' });
|
|
98
|
+
return true;
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
8
104
|
// Handle --setup flag: auto-configure MCP
|
|
9
105
|
const args = process.argv.slice(2);
|
|
10
106
|
if (args[0] === '--setup' && args[1]) {
|
|
11
107
|
const apiKey = args[1];
|
|
12
108
|
const home = homedir();
|
|
13
|
-
const
|
|
14
|
-
{ name: 'Claude Code', path: join(home, '.claude', 'mcp.json') },
|
|
15
|
-
{ name: 'Cursor', path: join(
|
|
109
|
+
const jsonConfigs = [
|
|
110
|
+
{ name: 'Claude Code', path: join(home, '.claude', 'mcp.json'), writer: mergeMcpServers },
|
|
111
|
+
{ name: 'Cursor global', path: join(home, '.cursor', 'mcp.json'), writer: mergeMcpServers },
|
|
112
|
+
{ name: 'Gemini CLI', path: join(home, '.gemini', 'settings.json'), writer: mergeMcpServers },
|
|
113
|
+
];
|
|
114
|
+
const projectConfigs = [
|
|
115
|
+
{ name: 'Cursor project', path: join(process.cwd(), '.cursor', 'mcp.json'), writer: mergeMcpServers },
|
|
116
|
+
{ name: 'VS Code/Copilot project', path: join(process.cwd(), '.vscode', 'mcp.json'), writer: mergeVsCodeMcp },
|
|
16
117
|
];
|
|
17
118
|
const slashCommands = [
|
|
18
119
|
{
|
|
@@ -20,12 +121,12 @@ if (args[0] === '--setup' && args[1]) {
|
|
|
20
121
|
path: join(home, '.claude', 'commands', 'smarter.md'),
|
|
21
122
|
body: `Load Engram smart context for the current task.
|
|
22
123
|
|
|
23
|
-
Use the MCP tool \`
|
|
124
|
+
Use the MCP tool \`mcp__engram__engram_smarter\` with:
|
|
24
125
|
- \`context\`: a concise summary of the current repo, stack, files, and task
|
|
25
126
|
- \`repo\`: infer from the current working directory when possible
|
|
26
127
|
- \`include_skills\`: true
|
|
27
128
|
|
|
28
|
-
After applying any recalled memory, call \`
|
|
129
|
+
After applying any recalled memory, call \`mcp__engram__engram_report_outcome\` with the memory ID and whether it helped.
|
|
29
130
|
`,
|
|
30
131
|
},
|
|
31
132
|
{
|
|
@@ -33,7 +134,7 @@ After applying any recalled memory, call \`mcp__engram__atm_report_outcome\` wit
|
|
|
33
134
|
path: join(home, '.claude', 'commands', 'engram-warmup.md'),
|
|
34
135
|
body: `Warm up this agent with Engram before starting implementation.
|
|
35
136
|
|
|
36
|
-
|
|
137
|
+
Call \`mcp__engram__engram_start\` with:
|
|
37
138
|
- \`agent_tool\`: "claude-code"
|
|
38
139
|
- \`project\`: infer from the current repo or ask the human
|
|
39
140
|
- \`repo\`: infer from the current directory
|
|
@@ -42,8 +143,7 @@ First call \`mcp__engram__atm_setup\` with:
|
|
|
42
143
|
- \`task\`: what you are about to do
|
|
43
144
|
- \`stack\`: detected stack, e.g. ["Next.js", "TypeScript", "PostgreSQL"]
|
|
44
145
|
|
|
45
|
-
|
|
46
|
-
If the project resembles another workspace project, call \`mcp__engram__atm_cross_pollinate\`.
|
|
146
|
+
If the project resembles another workspace project, call \`mcp__engram__engram_cross_pollinate\`.
|
|
47
147
|
If you are missing domain, legal, brand, pricing, or product assumptions, ask the human a concise question before guessing.
|
|
48
148
|
Report outcomes for any memory you use.
|
|
49
149
|
`,
|
|
@@ -53,7 +153,7 @@ Report outcomes for any memory you use.
|
|
|
53
153
|
path: join(home, '.claude', 'commands', 'cross-pollinate.md'),
|
|
54
154
|
body: `Find lessons from other repos that may apply to this repo.
|
|
55
155
|
|
|
56
|
-
Use the MCP tool \`
|
|
156
|
+
Use the MCP tool \`mcp__engram__engram_cross_pollinate\` with:
|
|
57
157
|
- \`target_repo\`: infer from the current working directory when possible
|
|
58
158
|
- \`context\`: a concise summary of the task, stack, error, or decision
|
|
59
159
|
- \`include_public\`: true
|
|
@@ -71,26 +171,37 @@ Apply only lessons that fit this repo. Report outcomes on any memory you use.
|
|
|
71
171
|
},
|
|
72
172
|
};
|
|
73
173
|
let configured = 0;
|
|
74
|
-
|
|
174
|
+
if (tryConfigureClaudeCli(engramConfig)) {
|
|
175
|
+
console.log(` ✓ Claude Code user config: claude mcp add-json -s user engram`);
|
|
176
|
+
configured++;
|
|
177
|
+
}
|
|
178
|
+
for (const cfg of [...jsonConfigs, ...projectConfigs]) {
|
|
75
179
|
try {
|
|
76
|
-
|
|
77
|
-
if (!existsSync(dir))
|
|
78
|
-
mkdirSync(dir, { recursive: true });
|
|
79
|
-
let existing = {};
|
|
80
|
-
if (existsSync(cfg.path)) {
|
|
81
|
-
existing = JSON.parse(readFileSync(cfg.path, 'utf-8'));
|
|
82
|
-
}
|
|
83
|
-
const mcpServers = (existing.mcpServers || {});
|
|
84
|
-
mcpServers.engram = engramConfig;
|
|
85
|
-
existing.mcpServers = mcpServers;
|
|
86
|
-
writeFileSync(cfg.path, JSON.stringify(existing, null, 2) + '\n');
|
|
180
|
+
cfg.writer(cfg.path, engramConfig);
|
|
87
181
|
console.log(` ✓ ${cfg.name}: ${cfg.path}`);
|
|
88
182
|
configured++;
|
|
89
183
|
}
|
|
90
184
|
catch {
|
|
91
|
-
// Skip
|
|
185
|
+
// Skip clients we cannot write for. The manual config is printed below if nothing worked.
|
|
92
186
|
}
|
|
93
187
|
}
|
|
188
|
+
try {
|
|
189
|
+
const codexPath = join(home, '.codex', 'config.toml');
|
|
190
|
+
mergeCodexConfig(codexPath, apiKey);
|
|
191
|
+
console.log(` ✓ Codex: ${codexPath}`);
|
|
192
|
+
configured++;
|
|
193
|
+
}
|
|
194
|
+
catch {
|
|
195
|
+
// Codex support is best-effort; other clients can still be configured.
|
|
196
|
+
}
|
|
197
|
+
try {
|
|
198
|
+
const agentsPath = join(process.cwd(), 'AGENTS.md');
|
|
199
|
+
const created = ensureAgentInstruction(agentsPath);
|
|
200
|
+
console.log(` ✓ Agent instructions ${created ? 'added to' : 'already present in'}: ${agentsPath}`);
|
|
201
|
+
}
|
|
202
|
+
catch {
|
|
203
|
+
// AGENTS.md is guidance only. MCP config is the activation path.
|
|
204
|
+
}
|
|
94
205
|
for (const command of slashCommands) {
|
|
95
206
|
try {
|
|
96
207
|
const dir = command.path.replace(/\/[^/]+$/, '');
|
|
@@ -105,9 +216,10 @@ Apply only lessons that fit this repo. Report outcomes on any memory you use.
|
|
|
105
216
|
}
|
|
106
217
|
if (configured > 0) {
|
|
107
218
|
console.log(`\nEngram configured! Restart your AI tool, or start a new session, to activate the MCP tools.`);
|
|
108
|
-
console.log(`Your agent will have
|
|
109
|
-
console.log(`\nStart
|
|
110
|
-
console.log(`Use
|
|
219
|
+
console.log(`Your agent will have Engram memory tools including engram_start, engram_smarter, engram_store, engram_recall, and engram_report_outcome.`);
|
|
220
|
+
console.log(`\nStart every client the same way: call engram_start once with project, repo, stack, role, market, and task.`);
|
|
221
|
+
console.log(`Use engram_cross_pollinate when lessons from other repos may apply, and engram_report_outcome after using recalled memory.`);
|
|
222
|
+
console.log(`Claude Code also gets optional slash aliases, but the MCP tool to call is still engram_start.`);
|
|
111
223
|
console.log(`If your AI tool was already running during setup, exit/reopen it first; most MCP clients load servers only at session startup.`);
|
|
112
224
|
}
|
|
113
225
|
else {
|
|
@@ -153,6 +265,180 @@ async function main() {
|
|
|
153
265
|
name: 'engram',
|
|
154
266
|
version: '0.2.0',
|
|
155
267
|
});
|
|
268
|
+
// Canonical Engram tools. The older atm_* names remain below as backward-compatible aliases.
|
|
269
|
+
server.registerTool('engram_start', {
|
|
270
|
+
title: 'Start Engram',
|
|
271
|
+
description: 'One-call session starter. Use this at the beginning of every meaningful session. It explains the workspace and loads smart task context in one call.',
|
|
272
|
+
inputSchema: {
|
|
273
|
+
agent_tool: z.string().optional().describe('Which AI tool you are, e.g. "claude-code", "codex", "cursor", "gemini-cli"'),
|
|
274
|
+
project: z.string().optional().describe('Project or product name, e.g. "HouseCompass"'),
|
|
275
|
+
repo: z.string().optional().describe('Current repository name'),
|
|
276
|
+
role: z.string().optional().describe('The role you are playing for this task'),
|
|
277
|
+
market: z.string().optional().describe('Target market/domain, e.g. "UK property"'),
|
|
278
|
+
task: z.string().optional().describe('What you are about to do'),
|
|
279
|
+
stack: z.array(z.string()).optional().describe('Detected stack, e.g. ["Next.js", "TypeScript"]'),
|
|
280
|
+
context: z.string().optional().describe('Optional full context summary. If omitted, Engram builds one from the other fields.'),
|
|
281
|
+
include_skills: z.boolean().optional().describe('Also fetch matching skill guides (default: true)'),
|
|
282
|
+
limit: z.number().min(1).max(30).optional().describe('Max memories to include'),
|
|
283
|
+
},
|
|
284
|
+
}, async (args) => {
|
|
285
|
+
try {
|
|
286
|
+
const result = await apiCall('/api/v1/start', args);
|
|
287
|
+
return { content: [{ type: 'text', text: result.markdown }] };
|
|
288
|
+
}
|
|
289
|
+
catch (e) {
|
|
290
|
+
return { content: [{ type: 'text', text: `Failed to start Engram: ${e}` }], isError: true };
|
|
291
|
+
}
|
|
292
|
+
});
|
|
293
|
+
server.registerTool('engram_setup', {
|
|
294
|
+
title: 'Engram Setup',
|
|
295
|
+
description: 'Return workspace info, available tools, and usage guidance. Most sessions should call engram_start instead because it also loads task context.',
|
|
296
|
+
inputSchema: {
|
|
297
|
+
agent_tool: z.string().optional().describe('Which AI tool you are'),
|
|
298
|
+
project: z.string().optional().describe('Project or product name'),
|
|
299
|
+
repo: z.string().optional().describe('Current repository name'),
|
|
300
|
+
role: z.string().optional().describe('The role you are playing for this task'),
|
|
301
|
+
market: z.string().optional().describe('Target market/domain'),
|
|
302
|
+
task: z.string().optional().describe('What you are about to do'),
|
|
303
|
+
stack: z.array(z.string()).optional().describe('Detected stack'),
|
|
304
|
+
},
|
|
305
|
+
}, async (args) => {
|
|
306
|
+
try {
|
|
307
|
+
const result = await apiCall('/api/v1/setup', args);
|
|
308
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
309
|
+
}
|
|
310
|
+
catch (e) {
|
|
311
|
+
return { content: [{ type: 'text', text: `Engram setup failed: ${e}` }], isError: true };
|
|
312
|
+
}
|
|
313
|
+
});
|
|
314
|
+
server.registerTool('engram_smarter', {
|
|
315
|
+
title: 'Engram Smarter',
|
|
316
|
+
description: 'Load smart context for a specific task. Use engram_start at session start; use this later when switching tasks.',
|
|
317
|
+
inputSchema: {
|
|
318
|
+
context: z.string().describe('Context summary: project name, tech stack, current task'),
|
|
319
|
+
repo: z.string().optional().describe('Current repository name'),
|
|
320
|
+
file: z.string().optional().describe('Current file path'),
|
|
321
|
+
include_skills: z.boolean().optional().describe('Also fetch matching skill guides (default: true)'),
|
|
322
|
+
limit: z.number().min(1).max(30).optional().describe('Max memories to include'),
|
|
323
|
+
},
|
|
324
|
+
}, async (args) => {
|
|
325
|
+
try {
|
|
326
|
+
const result = await apiCall('/api/v1/smarter', args);
|
|
327
|
+
return { content: [{ type: 'text', text: result.markdown }] };
|
|
328
|
+
}
|
|
329
|
+
catch (e) {
|
|
330
|
+
return { content: [{ type: 'text', text: `Failed to load Engram context: ${e}` }], isError: true };
|
|
331
|
+
}
|
|
332
|
+
});
|
|
333
|
+
server.registerTool('engram_cross_pollinate', {
|
|
334
|
+
title: 'Engram Cross-Pollinate',
|
|
335
|
+
description: 'Find reusable lessons from other repositories in the same workspace.',
|
|
336
|
+
inputSchema: {
|
|
337
|
+
target_repo: z.string().describe('Current repository that needs help'),
|
|
338
|
+
context: z.string().describe('Current task, stack, error, or decision to cross-pollinate'),
|
|
339
|
+
source_repos: z.array(z.string()).optional().describe('Optional source repo names to search'),
|
|
340
|
+
include_public: z.boolean().optional().describe('Include public starter-pack memories (default: true)'),
|
|
341
|
+
limit: z.number().min(1).max(25).optional().describe('Max cross-project memories to return'),
|
|
342
|
+
},
|
|
343
|
+
}, async (args) => {
|
|
344
|
+
try {
|
|
345
|
+
const result = await apiCall('/api/v1/cross-pollinate', args);
|
|
346
|
+
return { content: [{ type: 'text', text: result.markdown }] };
|
|
347
|
+
}
|
|
348
|
+
catch (e) {
|
|
349
|
+
return { content: [{ type: 'text', text: `Failed to cross-pollinate with Engram: ${e}` }], isError: true };
|
|
350
|
+
}
|
|
351
|
+
});
|
|
352
|
+
server.registerTool('engram_store', {
|
|
353
|
+
title: 'Engram Store',
|
|
354
|
+
description: 'Store durable knowledge for the team. Use when you discover a convention, pattern, gotcha, solution, architecture decision, or dependency quirk.',
|
|
355
|
+
inputSchema: {
|
|
356
|
+
type: z.enum(['CONVENTION', 'PATTERN', 'GOTCHA', 'SOLUTION', 'ARCHITECTURE', 'DEPENDENCY']),
|
|
357
|
+
content: z.string().describe('The knowledge to store. Be specific and actionable.'),
|
|
358
|
+
repo: z.string().optional().describe('Repository name'),
|
|
359
|
+
tags: z.array(z.string()).optional().describe('Tags for categorization'),
|
|
360
|
+
agent_tool: z.string().optional().describe('Which AI tool you are'),
|
|
361
|
+
context: z.record(z.string(), z.unknown()).optional().describe('Additional context'),
|
|
362
|
+
},
|
|
363
|
+
}, async (args) => {
|
|
364
|
+
try {
|
|
365
|
+
const result = await apiCall('/api/v1/store', args);
|
|
366
|
+
const r = result;
|
|
367
|
+
return { content: [{ type: 'text', text: r.message }] };
|
|
368
|
+
}
|
|
369
|
+
catch (e) {
|
|
370
|
+
return { content: [{ type: 'text', text: `Failed to store in Engram: ${e}` }], isError: true };
|
|
371
|
+
}
|
|
372
|
+
});
|
|
373
|
+
server.registerTool('engram_recall', {
|
|
374
|
+
title: 'Engram Recall',
|
|
375
|
+
description: 'Search Engram memory before making decisions or debugging unfamiliar problems.',
|
|
376
|
+
inputSchema: {
|
|
377
|
+
query: z.string().describe('What you want to know'),
|
|
378
|
+
repo: z.string().optional().describe('Filter by repository'),
|
|
379
|
+
type: z.enum(['CONVENTION', 'PATTERN', 'GOTCHA', 'SOLUTION', 'ARCHITECTURE', 'DEPENDENCY']).optional(),
|
|
380
|
+
tags: z.array(z.string()).optional(),
|
|
381
|
+
limit: z.number().min(1).max(20).optional().describe('Max results'),
|
|
382
|
+
},
|
|
383
|
+
}, async (args) => {
|
|
384
|
+
try {
|
|
385
|
+
const result = await apiCall('/api/v1/recall', args);
|
|
386
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
387
|
+
}
|
|
388
|
+
catch (e) {
|
|
389
|
+
return { content: [{ type: 'text', text: `Failed to recall from Engram: ${e}` }], isError: true };
|
|
390
|
+
}
|
|
391
|
+
});
|
|
392
|
+
server.registerTool('engram_report_outcome', {
|
|
393
|
+
title: 'Engram Report Outcome',
|
|
394
|
+
description: 'Report whether a recalled memory helped. This improves future memory ranking.',
|
|
395
|
+
inputSchema: {
|
|
396
|
+
memory_id: z.string().describe('The memory ID from recall/start results'),
|
|
397
|
+
success: z.boolean().describe('true = helped, false = did not help or was wrong'),
|
|
398
|
+
detail: z.string().optional().describe('Explain the outcome'),
|
|
399
|
+
failure_reason: z.enum(['outdated', 'wrong_context', 'incorrect', 'partial', 'other']).optional(),
|
|
400
|
+
},
|
|
401
|
+
}, async (args) => {
|
|
402
|
+
try {
|
|
403
|
+
const result = await apiCall('/api/v1/report', args);
|
|
404
|
+
return { content: [{ type: 'text', text: result.message }] };
|
|
405
|
+
}
|
|
406
|
+
catch (e) {
|
|
407
|
+
return { content: [{ type: 'text', text: `Failed to report Engram outcome: ${e}` }], isError: true };
|
|
408
|
+
}
|
|
409
|
+
});
|
|
410
|
+
server.registerTool('engram_get_context', {
|
|
411
|
+
title: 'Engram Get Context',
|
|
412
|
+
description: 'Load repo memory by type. Use engram_start for normal session startup.',
|
|
413
|
+
inputSchema: {
|
|
414
|
+
repo: z.string().describe('Repository name'),
|
|
415
|
+
file: z.string().optional().describe('Current file path'),
|
|
416
|
+
task: z.string().optional().describe('What you are about to do'),
|
|
417
|
+
},
|
|
418
|
+
}, async (args) => {
|
|
419
|
+
try {
|
|
420
|
+
const result = await apiCall('/api/v1/context', args);
|
|
421
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
422
|
+
}
|
|
423
|
+
catch (e) {
|
|
424
|
+
return { content: [{ type: 'text', text: `Failed to get Engram context: ${e}` }], isError: true };
|
|
425
|
+
}
|
|
426
|
+
});
|
|
427
|
+
server.registerTool('engram_skill', {
|
|
428
|
+
title: 'Engram Skill',
|
|
429
|
+
description: 'Load a complete skill guide by skill name. Call with no skill to list available skills.',
|
|
430
|
+
inputSchema: {
|
|
431
|
+
skill: z.string().optional().describe('Skill name, e.g. "code-review"'),
|
|
432
|
+
},
|
|
433
|
+
}, async (args) => {
|
|
434
|
+
try {
|
|
435
|
+
const result = await apiCall('/api/v1/skill', { skill: args.skill || '' });
|
|
436
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
437
|
+
}
|
|
438
|
+
catch (e) {
|
|
439
|
+
return { content: [{ type: 'text', text: `Failed to get Engram skill: ${e}` }], isError: true };
|
|
440
|
+
}
|
|
441
|
+
});
|
|
156
442
|
// atm_store
|
|
157
443
|
server.registerTool('atm_store', {
|
|
158
444
|
title: 'Store Memory',
|
|
@@ -192,7 +478,7 @@ async function main() {
|
|
|
192
478
|
const result = await apiCall('/api/v1/recall', args);
|
|
193
479
|
const r = result;
|
|
194
480
|
if (r.count === 0) {
|
|
195
|
-
return { content: [{ type: 'text', text: 'No relevant memories found. Consider storing new knowledge with
|
|
481
|
+
return { content: [{ type: 'text', text: 'No relevant memories found. Consider storing new knowledge with engram_store.' }] };
|
|
196
482
|
}
|
|
197
483
|
const summary = r.memories.slice(0, 3).map(m => m.content.split('\n')[0].slice(0, 80)).join(' | ');
|
|
198
484
|
const formatted = r.memories.map((m, i) => {
|
|
@@ -202,7 +488,7 @@ async function main() {
|
|
|
202
488
|
}).join('\n\n');
|
|
203
489
|
const staleCount = r.memories.filter(m => m.stale).length;
|
|
204
490
|
const staleNote = staleCount > 0 ? `\n\nNote: ${staleCount} memories are 30+ days old. Verify before acting on them.` : '';
|
|
205
|
-
return { content: [{ type: 'text', text: `Found ${r.count} relevant memories.\n\nQuick summary: ${summary}\n\n${formatted}${staleNote}\n\nTip: Use
|
|
491
|
+
return { content: [{ type: 'text', text: `Found ${r.count} relevant memories.\n\nQuick summary: ${summary}\n\n${formatted}${staleNote}\n\nTip: Use engram_report_outcome to confirm or flag memories after using them.` }] };
|
|
206
492
|
}
|
|
207
493
|
catch (e) {
|
|
208
494
|
return { content: [{ type: 'text', text: `Failed to recall: ${e}` }], isError: true };
|
|
@@ -213,7 +499,7 @@ async function main() {
|
|
|
213
499
|
title: 'Report Outcome',
|
|
214
500
|
description: 'Report whether a recalled memory was helpful or not. This is critical for learning. Always report after using a recalled memory. If it failed, explain WHY.',
|
|
215
501
|
inputSchema: {
|
|
216
|
-
memory_id: z.string().describe('The memory ID from
|
|
502
|
+
memory_id: z.string().describe('The memory ID from engram_recall results'),
|
|
217
503
|
success: z.boolean().describe('true = helped, false = did not help or was wrong'),
|
|
218
504
|
detail: z.string().optional().describe('Explain the outcome. REQUIRED when success=false.'),
|
|
219
505
|
failure_reason: z.enum(['outdated', 'wrong_context', 'incorrect', 'partial', 'other']).optional()
|
|
@@ -232,7 +518,7 @@ async function main() {
|
|
|
232
518
|
// atm_get_context
|
|
233
519
|
server.registerTool('atm_get_context', {
|
|
234
520
|
title: 'Get Context',
|
|
235
|
-
description: 'Load all relevant memories for a repository. Use
|
|
521
|
+
description: 'Load all relevant memories for a repository. Use engram_start for normal session startup; use this when switching repos or when you need a focused repo dump.',
|
|
236
522
|
inputSchema: {
|
|
237
523
|
repo: z.string().describe('Repository name'),
|
|
238
524
|
file: z.string().optional().describe('Current file path'),
|
|
@@ -255,7 +541,7 @@ async function main() {
|
|
|
255
541
|
if (r.architecture.length)
|
|
256
542
|
sections.push('## Architecture\n' + fmt(r.architecture));
|
|
257
543
|
if (sections.length === 0) {
|
|
258
|
-
return { content: [{ type: 'text', text: `No memories for repo "${args.repo}". Use
|
|
544
|
+
return { content: [{ type: 'text', text: `No memories for repo "${args.repo}". Use engram_store to save useful findings as you work.` }] };
|
|
259
545
|
}
|
|
260
546
|
const guidance = `\n---\n## When to use Engram this session\n\n**STORE** when you fix a hard bug, discover a convention, or find a solution.\n**RECALL** before architectural decisions or when encountering errors.\n**REPORT** after using a recalled memory (helps the system learn).\n\n_${r.total} memories loaded._`;
|
|
261
547
|
return { content: [{ type: 'text', text: `# Team Context for ${args.repo}\n\n${sections.join('\n\n')}${guidance}` }] };
|
|
@@ -288,15 +574,18 @@ async function main() {
|
|
|
288
574
|
- Team members: ${r.workspace.members}
|
|
289
575
|
- Repos: ${r.workspace.repos}
|
|
290
576
|
|
|
291
|
-
##
|
|
292
|
-
- **
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
- **
|
|
296
|
-
- **
|
|
297
|
-
- **
|
|
298
|
-
- **
|
|
299
|
-
- **
|
|
577
|
+
## Start Here
|
|
578
|
+
- **engram_start** - One-call session start: setup guidance + smart task context
|
|
579
|
+
|
|
580
|
+
## Other Engram Tools
|
|
581
|
+
- **engram_smarter** - Load task-specific memories and skill guides when switching tasks
|
|
582
|
+
- **engram_cross_pollinate** - Reuse lessons from other repos in this workspace
|
|
583
|
+
- **engram_store** - Save knowledge for the team
|
|
584
|
+
- **engram_recall** - Search before you decide
|
|
585
|
+
- **engram_skill** - Load a complete skill guide
|
|
586
|
+
- **engram_report_outcome** - Help the system learn
|
|
587
|
+
- **engram_get_context** - Load repo knowledge by type
|
|
588
|
+
- **engram_setup** - This onboarding only
|
|
300
589
|
|
|
301
590
|
## First Conversation
|
|
302
591
|
${(r.first_conversation || []).map(s => `- ${s}`).join('\n') || '- Tell Engram your project, market, stack, role, and current task.'}
|
|
@@ -320,7 +609,7 @@ ${r.guidelines.recall_when.map(s => `- ${s}`).join('\n')}
|
|
|
320
609
|
After using a recalled memory, report if it helped or not. This is how Engram learns.
|
|
321
610
|
|
|
322
611
|
---
|
|
323
|
-
Setup complete.
|
|
612
|
+
Setup complete. In normal use, call **engram_start** once at session start. Use **engram_cross_pollinate** when another project may have solved the same problem.`;
|
|
324
613
|
return { content: [{ type: 'text', text }] };
|
|
325
614
|
}
|
|
326
615
|
catch (e) {
|
|
@@ -339,7 +628,7 @@ Setup complete. Start with **atm_smarter** for your current repo and task. Use *
|
|
|
339
628
|
const result = await apiCall('/api/v1/skill', { skill: args.skill || '' });
|
|
340
629
|
const r = result;
|
|
341
630
|
if (r.available_skills) {
|
|
342
|
-
return { content: [{ type: 'text', text: `Available skills:\n${r.available_skills.map(s => `- ${s}`).join('\n')}\n\nUsage:
|
|
631
|
+
return { content: [{ type: 'text', text: `Available skills:\n${r.available_skills.map(s => `- ${s}`).join('\n')}\n\nUsage: engram_skill({ skill: "skill-name" })` }] };
|
|
343
632
|
}
|
|
344
633
|
if (r.count === 0) {
|
|
345
634
|
return { content: [{ type: 'text', text: r.message || `No memories found for skill "${args.skill}".` }] };
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAI7C,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAe,CAAC;AAC/D,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,KAAiB;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,YAAwB;IAC7D,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAe,CAAC;IAC7D,UAAU,CAAC,MAAM,GAAG,YAAY,CAAC;IACjC,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,YAAwB;IAC5D,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAe,CAAC;IACvD,OAAO,CAAC,MAAM,GAAG;QACf,IAAI,EAAE,OAAO;QACb,GAAG,YAAY;KAChB,CAAC;IACF,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,SAAS,CAAC,MAAgB;IACjC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAClD,CAAC;AAED,SAAS,eAAe,CAAC,MAA8B;IACrD,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3G,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,MAAc;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1D,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,MAAM,KAAK,GAAG;QACZ,sBAAsB;QACtB,gBAAgB;QAChB,iBAAiB;QACjB,UAAU,SAAS,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,EAAE;QAC7C,SAAS,eAAe,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC,EAAE;QAClG,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,OAAO,GAAG,2DAA2D,CAAC;IAC5E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;QACjC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC;QACjG,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC;IAEpE,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,MAAM,OAAO,GAAG;;;;;;;;;;CAUjB,CAAC;IAEA,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,IAAI,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAAE,OAAO,KAAK,CAAC;IACxD,aAAa,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACvF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,YAAwB;IACrD,IAAI,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACpE,IAAI,CAAC;QACH,YAAY,CACV,QAAQ,EACR;YACE,KAAK;YACL,UAAU;YACV,IAAI;YACJ,MAAM;YACN,QAAQ;YACR,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,OAAO;gBACb,GAAG,YAAY;aAChB,CAAC;SACH,EACD,EAAE,KAAK,EAAE,MAAM,EAAE,CAClB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,0CAA0C;AAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,MAAM,WAAW,GAAG;QAClB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE;QACzF,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE;QAC3F,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE;KAC9F,CAAC;IACF,MAAM,cAAc,GAAG;QACrB,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE;QACrG,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE;KAC9G,CAAC;IACF,MAAM,aAAa,GAAG;QACpB;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC;YACrD,IAAI,EAAE;;;;;;;;CAQX;SACI;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,kBAAkB,CAAC;YAC3D,IAAI,EAAE;;;;;;;;;;;;;;CAcX;SACI;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,oBAAoB,CAAC;YAC7D,IAAI,EAAE;;;;;;;;CAQX;SACI;KACF,CAAC;IAEF,MAAM,YAAY,GAAG;QACnB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC;QAC5B,GAAG,EAAE;YACH,cAAc,EAAE,MAAM;YACtB,cAAc,EAAE,0BAA0B;SAC3C;KACF,CAAC;IAEF,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,qBAAqB,CAAC,YAAY,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;QAC/E,UAAU,EAAE,CAAC;IACf,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,WAAW,EAAE,GAAG,cAAc,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5C,UAAU,EAAE,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,0FAA0F;QAC5F,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QACtD,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC;QACvC,UAAU,EAAE,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;IACzE,CAAC;IAED,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,0BAA0B,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAoB,KAAK,UAAU,EAAE,CAAC,CAAC;IACtG,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;IACnE,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,6BAA6B,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5E,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;QAC1E,CAAC;IACH,CAAC;IAED,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,+FAA+F,CAAC,CAAC;QAC7G,OAAO,CAAC,GAAG,CAAC,0IAA0I,CAAC,CAAC;QACxJ,OAAO,CAAC,GAAG,CAAC,8GAA8G,CAAC,CAAC;QAC5H,OAAO,CAAC,GAAG,CAAC,4HAA4H,CAAC,CAAC;QAC1I,OAAO,CAAC,GAAG,CAAC,+FAA+F,CAAC,CAAC;QAC7G,OAAO,CAAC,GAAG,CAAC,gIAAgI,CAAC,CAAC;IAChJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,0BAA0B,CAAC;AAC1E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;AAEjD,KAAK,UAAU,OAAO,CAAC,IAAY,EAAE,IAA6B;IAChE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,GAAG,IAAI,EAAE,EAAE;QAC5C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,OAAO,EAAE;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAE,GAAyB,CAAC,KAAK,IAAI,cAAc,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAAY;IAChC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,GAAG,IAAI,EAAE,EAAE;QAC5C,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,OAAO,EAAE,EAAE;KAChD,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAE,GAAyB,CAAC,KAAK,IAAI,cAAc,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAClE,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,6FAA6F;IAC7F,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EACT,sJAAsJ;QACxJ,WAAW,EAAE;YACX,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4EAA4E,CAAC;YACxH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;YACvF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAC/D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;YAC9E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YAClF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAChE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;YAChG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qFAAqF,CAAC;YAC9H,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YACnG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;SAChF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,IAA+B,CAAyB,CAAC;YACvG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;QACzE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,2BAA2B,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACvG,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EACT,gJAAgJ;QAClJ,WAAW,EAAE;YACX,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACnE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAClE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAC/D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;YAC9E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YAC9D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAChE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;SACjE;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,IAA+B,CAAC,CAAC;YAC/E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACzF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,wBAAwB,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACpG,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,KAAK,EAAE,gBAAgB;QACvB,WAAW,EACT,iHAAiH;QACnH,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;YACvF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAC/D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACzD,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YACnG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;SAChF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,IAA+B,CAAyB,CAAC;YACzG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;QACzE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kCAAkC,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC9G,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,sEAAsE;QACnF,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YACtE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;YAC1F,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YAC7F,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;YACvG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;SAC7F;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,yBAAyB,EAAE,IAA+B,CAAyB,CAAC;YACjH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;QACzE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,0CAA0C,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACtH,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,kJAAkJ;QAC/J,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;YAC3F,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;YACnF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACvD,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACxE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACnE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;SACrF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,IAA+B,CAAC,CAAC;YAC/E,MAAM,CAAC,GAAG,MAA6B,CAAC;YACxC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACnE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,8BAA8B,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC1G,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,gFAAgF;QAC7F,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACnD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YAC5D,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;YACtG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;YACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;SACpE;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,gBAAgB,EAAE,IAA+B,CAAC,CAAC;YAChF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACzF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,iCAAiC,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC7G,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,+EAA+E;QAC5F,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YACzE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YACjF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC7D,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;SAClG;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,gBAAgB,EAAE,IAA+B,CAAwB,CAAC;YACvG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACxE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,oCAAoC,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChH,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,wEAAwE;QACrF,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACzD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;SACjE;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,IAA+B,CAAC,CAAC;YACjF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACzF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,iCAAiC,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC7G,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,yFAAyF;QACtG,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;SACxE;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACzF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,+BAA+B,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3G,CAAC;IACH,CAAC,CACF,CAAC;IAEF,YAAY;IACZ,MAAM,CAAC,YAAY,CACjB,WAAW,EACX;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EACT,0TAA0T;QAC5T,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;iBACxF,QAAQ,CAAC,gBAAgB,CAAC;YAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;YACnF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACvD,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACxE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACnE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;SACrF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,IAA+B,CAAC,CAAC;YAC/E,MAAM,CAAC,GAAG,MAAoF,CAAC;YAC/F,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACnE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,oBAAoB,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChG,CAAC;IACH,CAAC,CACF,CAAC;IAEF,aAAa;IACb,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,4QAA4Q;QAC9Q,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACnD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YAC5D,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;YACtG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;YACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;SACjF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,gBAAgB,EAAE,IAA+B,CAAC,CAAC;YAChF,MAAM,CAAC,GAAG,MAA+L,CAAC;YAE1M,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBAClB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,+EAA+E,EAAE,CAAC,EAAE,CAAC;YACzI,CAAC;YAED,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnG,MAAM,SAAS,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACxC,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;YACxI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEhB,MAAM,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;YAC1D,MAAM,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,UAAU,2DAA2D,CAAC,CAAC,CAAC,EAAE,CAAC;YAE3H,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,KAAK,yCAAyC,OAAO,OAAO,SAAS,GAAG,SAAS,kFAAkF,EAAE,CAAC,EAAE,CAAC;QACxO,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,qBAAqB,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACjG,CAAC;IACH,CAAC,CACF,CAAC;IAEF,qBAAqB;IACrB,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,KAAK,EAAE,gBAAgB;QACvB,WAAW,EACT,6JAA6J;QAC/J,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YAC1E,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YACjF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;YAC3F,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;iBAC9F,QAAQ,CAAC,2CAA2C,CAAC;SACzD;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,gBAAgB,EAAE,IAA+B,CAAC,CAAC;YAChF,MAAM,CAAC,GAAG,MAAgD,CAAC;YAC3D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACnE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,qBAAqB,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACjG,CAAC;IACH,CAAC,CACF,CAAC;IAEF,kBAAkB;IAClB,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,+JAA+J;QACjK,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACzD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;SACjE;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,IAA+B,CAAC,CAAC;YACjF,MAAM,CAAC,GAAG,MAA0P,CAAC;YAErQ,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,CAAC,IAAoE,EAAE,EAAE,CACnF,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEtG,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM;gBAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YACjF,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM;gBAAE,QAAQ,CAAC,IAAI,CAAC,2BAA2B,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAClF,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM;gBAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM;gBAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3E,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM;gBAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;YAEpF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,yBAAyB,IAAI,CAAC,IAAI,0DAA0D,EAAE,CAAC,EAAE,CAAC;YACtJ,CAAC;YAED,MAAM,QAAQ,GAAG,8QAA8Q,CAAC,CAAC,KAAK,oBAAoB,CAAC;YAE3T,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,sBAAsB,IAAI,CAAC,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC;QAClI,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,0BAA0B,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACtG,CAAC;IACH,CAAC,CACF,CAAC;IAEF,YAAY;IACZ,MAAM,CAAC,YAAY,CACjB,WAAW,EACX;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EACT,gHAAgH;QAClH,WAAW,EAAE;YACX,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;YAClG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;YACvF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAC/D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;YAC9E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YAClF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAChE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;SACjG;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,IAA+B,CAAC,CAAC;YAC/E,MAAM,CAAC,GAAG,MAYT,CAAC;YAEF,MAAM,IAAI,GAAG;;qBAEA,CAAC,CAAC,SAAS,CAAC,IAAI;cACvB,CAAC,CAAC,SAAS,CAAC,QAAQ;kBAChB,CAAC,CAAC,SAAS,CAAC,OAAO;WAC1B,CAAC,CAAC,SAAS,CAAC,KAAK;;;;;;;;;;;;;;;;EAgB1B,CAAC,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,oEAAoE;;;EAGlI,CAAC,CAAC,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,GAAG,2BAA2B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;;;EAGrK,CAAC,CAAC,CAAC,UAAU,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAGrE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAGrD,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAGvD,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;kKAM0G,CAAC;YAE3J,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACxD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,iBAAiB,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC7F,CAAC;IACH,CAAC,CACF,CAAC;IAEF,YAAY;IACZ,MAAM,CAAC,YAAY,CACjB,WAAW,EACX;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,qSAAqS;QACvS,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kIAAkI,CAAC;SAC1K;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3E,MAAM,CAAC,GAAG,MAA8H,CAAC;YAEzI,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;gBACvB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,sBAAsB,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,kDAAkD,EAAE,CAAC,EAAE,CAAC;YAClL,CAAC;YAED,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBAClB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,IAAI,gCAAgC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;YACrH,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC;QACnH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,wBAAwB,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACpG,CAAC;IACH,CAAC,CACF,CAAC;IAEF,cAAc;IACd,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EACT,0VAA0V;QAC5V,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+JAA+J,CAAC;YAC7L,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAC/D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACzD,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YACnG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;SAChF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,IAA+B,CAAyB,CAAC;YACzG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;QACzE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,iCAAiC,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC7G,CAAC;IACH,CAAC,CACF,CAAC;IAEF,sBAAsB;IACtB,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,KAAK,EAAE,mCAAmC;QAC1C,WAAW,EACT,4NAA4N;QAC9N,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YACtE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;YAC1F,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YAC7F,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;YACvG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;SAC7F;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,yBAAyB,EAAE,IAA+B,CAAyB,CAAC;YACjH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;QACzE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,8BAA8B,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC1G,CAAC;IACH,CAAC,CACF,CAAC;IAEF,oBAAoB;IACpB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "engram-tools",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "Shared memory for AI coding agents. Store, recall, and learn across tools, sessions, and teams.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"homepage": "https://engram.tools",
|
|
@@ -28,6 +28,8 @@
|
|
|
28
28
|
"typecheck": "tsc --noEmit",
|
|
29
29
|
"test:product": "tsx tests/product-smoke.ts",
|
|
30
30
|
"test:signup": "tsx tests/signup-otp.test.ts",
|
|
31
|
+
"test:setup": "tsx tests/setup-cli.test.ts",
|
|
32
|
+
"test:platform": "tsx tests/platform-setup.test.ts",
|
|
31
33
|
"test:visibility": "tsx tests/visibility.test.ts",
|
|
32
34
|
"test:parity": "tsx tests/api-parity.test.ts",
|
|
33
35
|
"test:all": "npm run build && npm run test:parity && npm run test:visibility && npm run test:product"
|