@agentbrain/mcp-server 1.4.70 → 1.4.76

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/dist/index.js CHANGED
@@ -12,6 +12,11 @@ import { saveHandoff, saveHandoffSchema } from './tools/save-handoff.js';
12
12
  import { setupRepo, setupRepoSchema } from './tools/setup-repo.js';
13
13
  import { saveContext, saveContextSchema } from './tools/save-context.js';
14
14
  import { saveError, saveErrorSchema } from './tools/save-error.js';
15
+ import { generateContext, generateContextSchema } from './tools/generate-context.js';
16
+ import { loadBlueprint, loadBlueprintSchema } from './tools/load-blueprint.js';
17
+ import { loadGuardrails, loadGuardrailsSchema } from './tools/load-guardrails.js';
18
+ import { loadDecisions, loadDecisionsSchema } from './tools/load-decisions.js';
19
+ import { preflightCheck, preflightCheckSchema } from './tools/preflight-check.js';
15
20
  import { existsSync } from 'node:fs';
16
21
  import { join, resolve } from 'node:path';
17
22
  import { homedir } from 'node:os';
@@ -58,6 +63,11 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
58
63
  loadSpecSchema,
59
64
  detectDoomLoopSchema,
60
65
  saveHandoffSchema,
66
+ generateContextSchema,
67
+ loadBlueprintSchema,
68
+ loadGuardrailsSchema,
69
+ loadDecisionsSchema,
70
+ preflightCheckSchema,
61
71
  ],
62
72
  };
63
73
  });
@@ -99,26 +109,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
99
109
  };
100
110
  }
101
111
  case 'load_context': {
102
- const bootstrap = await checkBootstrap(args.repo_path);
103
- if (bootstrap) {
104
- const setupResult = await setupRepo({
105
- repo_path: args.repo_path,
106
- });
107
- return {
108
- content: [
109
- {
110
- type: 'text',
111
- text: `No .agentbrain found, setting up AgentBrain...\n\n` +
112
- `## File Tree\n${setupResult.file_tree}\n\n` +
113
- `## Key Files\n\n` +
114
- setupResult.key_files
115
- .map((f) => `### ${f.path}\n\`\`\`\n${f.content}\n\`\`\``)
116
- .join('\n\n') +
117
- `\n\n## Instructions\n\n${setupResult.instructions}`,
118
- },
119
- ],
120
- };
121
- }
112
+ // Let loadContext() handle bootstrap internally via bootstrapRepo()
113
+ // Do NOT call setupRepo() - it returns verbose file tree
122
114
  const result = await loadContext(args);
123
115
  return {
124
116
  content: [
@@ -235,6 +227,61 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
235
227
  ],
236
228
  };
237
229
  }
230
+ case 'generate_context': {
231
+ const result = await generateContext(args);
232
+ return {
233
+ content: [
234
+ {
235
+ type: 'text',
236
+ text: result,
237
+ },
238
+ ],
239
+ };
240
+ }
241
+ case 'load_blueprint': {
242
+ const result = await loadBlueprint(args);
243
+ return {
244
+ content: [
245
+ {
246
+ type: 'text',
247
+ text: result,
248
+ },
249
+ ],
250
+ };
251
+ }
252
+ case 'load_guardrails': {
253
+ const result = await loadGuardrails(args);
254
+ return {
255
+ content: [
256
+ {
257
+ type: 'text',
258
+ text: result,
259
+ },
260
+ ],
261
+ };
262
+ }
263
+ case 'load_decisions': {
264
+ const result = await loadDecisions(args);
265
+ return {
266
+ content: [
267
+ {
268
+ type: 'text',
269
+ text: result,
270
+ },
271
+ ],
272
+ };
273
+ }
274
+ case 'preflight_check': {
275
+ const result = await preflightCheck(args);
276
+ return {
277
+ content: [
278
+ {
279
+ type: 'text',
280
+ text: result,
281
+ },
282
+ ],
283
+ };
284
+ }
238
285
  default:
239
286
  throw new Error(`Unknown tool: ${name}`);
240
287
  }
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":"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"}
@@ -0,0 +1,24 @@
1
+ export interface GenerateContextInput {
2
+ repo_path: string;
3
+ focus?: string;
4
+ }
5
+ export declare function generateContext(input: GenerateContextInput): Promise<string>;
6
+ export declare const generateContextSchema: {
7
+ name: string;
8
+ description: string;
9
+ inputSchema: {
10
+ type: string;
11
+ properties: {
12
+ repo_path: {
13
+ type: string;
14
+ description: string;
15
+ };
16
+ focus: {
17
+ type: string;
18
+ description: string;
19
+ };
20
+ };
21
+ required: string[];
22
+ };
23
+ };
24
+ //# sourceMappingURL=generate-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-context.d.ts","sourceRoot":"","sources":["../../src/tools/generate-context.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CA6ClF;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;CAkBjC,CAAA"}
@@ -0,0 +1,73 @@
1
+ // MCP tool: generate_context - on-demand context generation
2
+ import { readdirSync, existsSync } from 'node:fs';
3
+ import { join, resolve } from 'node:path';
4
+ import { homedir } from 'node:os';
5
+ /**
6
+ * Expand path: handles ~, relative paths, etc.
7
+ */
8
+ function expandPath(path) {
9
+ if (path.startsWith('~/') || path === '~') {
10
+ return path.replace('~', homedir());
11
+ }
12
+ return resolve(path);
13
+ }
14
+ export async function generateContext(input) {
15
+ const { repo_path, focus } = input;
16
+ // Expand path
17
+ const expandedPath = expandPath(repo_path);
18
+ const contextDir = join(expandedPath, '.agentbrain');
19
+ // Check if .agentbrain/ exists
20
+ if (!existsSync(contextDir)) {
21
+ return 'No .agentbrain/ directory found. Run load_context() first to bootstrap the repository.';
22
+ }
23
+ // Read existing context files
24
+ const existingFiles = readdirSync(contextDir).filter((f) => f.endsWith('.md'));
25
+ // Check which interpretive files are missing
26
+ const interpretiveFiles = ['context.md', 'patterns.md', 'decisions.md'];
27
+ const missingFiles = interpretiveFiles.filter((f) => !existingFiles.includes(f));
28
+ if (focus) {
29
+ // Focused generation mode
30
+ return `Generate context for: ${focus}
31
+
32
+ Analyze the ${focus} area of the codebase and call save_context() with a file named ${focus.replace(/\s+/g, '-')}.md
33
+
34
+ Focus your analysis on:
35
+ - Key files and modules related to ${focus}
36
+ - Data flows and interactions
37
+ - Patterns and conventions specific to this area
38
+ - Known issues or gotchas
39
+
40
+ Keep it focused and under 100 lines.`;
41
+ }
42
+ else {
43
+ // Check mode - which interpretive files are missing?
44
+ if (missingFiles.length === 0) {
45
+ return 'All interpretive files already generated. Use focus parameter to generate additional context (e.g., focus: "auth flow").';
46
+ }
47
+ return `Missing interpretive files: ${missingFiles.join(', ')}
48
+
49
+ Please analyze the codebase and generate these files, then call save_context():
50
+ ${missingFiles.map((f) => `- ${f}`).join('\n')}
51
+
52
+ See load_context() bootstrap message for detailed instructions on what each file should contain.`;
53
+ }
54
+ }
55
+ export const generateContextSchema = {
56
+ name: 'generate_context',
57
+ description: 'Generate context files on-demand. Use without focus parameter to check which interpretive files are missing. Use with focus parameter to generate targeted context for specific areas (e.g., "auth flow", "payment system").',
58
+ inputSchema: {
59
+ type: 'object',
60
+ properties: {
61
+ repo_path: {
62
+ type: 'string',
63
+ description: 'Absolute path to repository',
64
+ },
65
+ focus: {
66
+ type: 'string',
67
+ description: 'Optional: area to analyze (e.g., "auth flow", "payment system")',
68
+ },
69
+ },
70
+ required: ['repo_path'],
71
+ },
72
+ };
73
+ //# sourceMappingURL=generate-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-context.js","sourceRoot":"","sources":["../../src/tools/generate-context.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEjC;;GAEG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;IACrC,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;AACtB,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAA2B;IAC/D,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IAElC,cAAc;IACd,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;IAEpD,+BAA+B;IAC/B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,wFAAwF,CAAA;IACjG,CAAC;IAED,8BAA8B;IAC9B,MAAM,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAE9E,6CAA6C;IAC7C,MAAM,iBAAiB,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC,CAAA;IACvE,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAEhF,IAAI,KAAK,EAAE,CAAC;QACV,0BAA0B;QAC1B,OAAO,yBAAyB,KAAK;;cAE3B,KAAK,mEAAmE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;;;qCAG3E,KAAK;;;;;qCAKL,CAAA;IACnC,CAAC;SAAM,CAAC;QACN,qDAAqD;QACrD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,0HAA0H,CAAA;QACnI,CAAC;QAED,OAAO,+BAA+B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAG/D,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;iGAEmD,CAAA;IAC/F,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,8NAA8N;IAChO,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6BAA6B;aAC3C;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iEAAiE;aAC/E;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;CACF,CAAA"}
@@ -0,0 +1,19 @@
1
+ export interface LoadBlueprintInput {
2
+ repo_path: string;
3
+ }
4
+ export declare const loadBlueprintSchema: {
5
+ name: string;
6
+ description: string;
7
+ inputSchema: {
8
+ type: string;
9
+ properties: {
10
+ repo_path: {
11
+ type: string;
12
+ description: string;
13
+ };
14
+ };
15
+ required: string[];
16
+ };
17
+ };
18
+ export declare function loadBlueprint(input: LoadBlueprintInput): Promise<string>;
19
+ //# sourceMappingURL=load-blueprint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-blueprint.d.ts","sourceRoot":"","sources":["../../src/tools/load-blueprint.ts"],"names":[],"mappings":"AA+BA,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAA;CAClB;AAqCD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;CAc/B,CAAA;AA+ED,wBAAsB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkD9E"}
@@ -0,0 +1,152 @@
1
+ // MCP tool: load_blueprint - Load workspace Blueprint from cloud
2
+ import { homedir } from 'node:os';
3
+ import { join } from 'node:path';
4
+ // ══════════════════════════════════════════════════════════════
5
+ // Environment & Configuration
6
+ // ══════════════════════════════════════════════════════════════
7
+ const BASE_URL = process.env.AGENTBRAIN_API_BASE_URL?.replace(/\/$/, '') ?? 'https://www.useagentbrain.com/api/v1';
8
+ const BLUEPRINT_URL = `${BASE_URL}/blueprint`;
9
+ /**
10
+ * Expand path: handles ~, relative paths, etc.
11
+ */
12
+ function expandPath(path) {
13
+ if (path.startsWith('~/') || path === '~') {
14
+ return path.replace('~', homedir());
15
+ }
16
+ if (!path.startsWith('/')) {
17
+ return join(process.cwd(), path);
18
+ }
19
+ return path;
20
+ }
21
+ // ══════════════════════════════════════════════════════════════
22
+ // Schema
23
+ // ══════════════════════════════════════════════════════════════
24
+ export const loadBlueprintSchema = {
25
+ name: 'load_blueprint',
26
+ description: 'Load workspace Blueprint — architectural patterns, folder conventions, golden path examples, and forbidden patterns. Load at session start alongside load_context().',
27
+ inputSchema: {
28
+ type: 'object',
29
+ properties: {
30
+ repo_path: {
31
+ type: 'string',
32
+ description: 'Absolute path to repository',
33
+ },
34
+ },
35
+ required: ['repo_path'],
36
+ },
37
+ };
38
+ // ══════════════════════════════════════════════════════════════
39
+ // Formatting
40
+ // ══════════════════════════════════════════════════════════════
41
+ function formatBlueprint(content) {
42
+ const workspaceName = content.workspace_name || 'Workspace';
43
+ let output = `# Blueprint — ${workspaceName}\n\n`;
44
+ // Folder Conventions
45
+ if (content.folder_conventions) {
46
+ const fc = content.folder_conventions;
47
+ if (fc.business_logic || fc.new_features || fc.shared_utilities) {
48
+ output += '## Folder Conventions\n';
49
+ if (fc.business_logic)
50
+ output += `Business logic: ${fc.business_logic}\n`;
51
+ if (fc.new_features)
52
+ output += `New features: ${fc.new_features}\n`;
53
+ if (fc.shared_utilities)
54
+ output += `Shared utilities: ${fc.shared_utilities}\n`;
55
+ output += '\n';
56
+ }
57
+ }
58
+ // Preferred Patterns
59
+ if (content.preferred_patterns) {
60
+ const pp = content.preferred_patterns;
61
+ if (pp.state_management || pp.data_fetching || pp.auth || pp.error_handling) {
62
+ output += '## Preferred Patterns\n';
63
+ if (pp.state_management)
64
+ output += `State management: ${pp.state_management}\n`;
65
+ if (pp.data_fetching)
66
+ output += `Data fetching: ${pp.data_fetching}\n`;
67
+ if (pp.auth)
68
+ output += `Auth: ${pp.auth}\n`;
69
+ if (pp.error_handling)
70
+ output += `Error handling: ${pp.error_handling}\n`;
71
+ output += '\n';
72
+ }
73
+ }
74
+ // Golden Path Examples
75
+ if (content.golden_path_examples && content.golden_path_examples.length > 0) {
76
+ output += '## Golden Path Examples\n';
77
+ for (const example of content.golden_path_examples) {
78
+ output += `- ${example.label}: ${example.path}\n`;
79
+ }
80
+ output += '\n';
81
+ }
82
+ // Forbidden Patterns
83
+ if (content.forbidden_patterns && content.forbidden_patterns.length > 0) {
84
+ output += '## Forbidden Patterns\n';
85
+ for (const pattern of content.forbidden_patterns) {
86
+ output += `- ${pattern.pattern}: ${pattern.reason}\n`;
87
+ }
88
+ output += '\n';
89
+ }
90
+ // Architecture Notes
91
+ if (content.architecture_notes) {
92
+ output += '## Architecture Notes\n';
93
+ output += `${content.architecture_notes}\n`;
94
+ }
95
+ return output;
96
+ }
97
+ function isContentEmpty(content) {
98
+ const fc = content.folder_conventions;
99
+ const pp = content.preferred_patterns;
100
+ const hasFolderConventions = fc && (fc.business_logic || fc.new_features || fc.shared_utilities);
101
+ const hasPreferredPatterns = pp && (pp.state_management || pp.data_fetching || pp.auth || pp.error_handling);
102
+ const hasGoldenPaths = content.golden_path_examples && content.golden_path_examples.length > 0;
103
+ const hasForbiddenPatterns = content.forbidden_patterns && content.forbidden_patterns.length > 0;
104
+ const hasNotes = !!content.architecture_notes;
105
+ return !(hasFolderConventions || hasPreferredPatterns || hasGoldenPaths || hasForbiddenPatterns || hasNotes);
106
+ }
107
+ // ══════════════════════════════════════════════════════════════
108
+ // Main Tool Function
109
+ // ══════════════════════════════════════════════════════════════
110
+ export async function loadBlueprint(input) {
111
+ const apiKey = process.env.AGENTBRAIN_API_KEY;
112
+ if (!apiKey) {
113
+ return `Blueprint requires an API key.
114
+ Add AGENTBRAIN_API_KEY to your MCP config env block.
115
+ Get your key at useagentbrain.com/settings`;
116
+ }
117
+ try {
118
+ const res = await fetch(BLUEPRINT_URL, {
119
+ method: 'GET',
120
+ headers: {
121
+ 'x-api-key': apiKey,
122
+ 'Content-Type': 'application/json',
123
+ },
124
+ });
125
+ if (res.status === 401) {
126
+ return 'Invalid AGENTBRAIN_API_KEY. Check your MCP config env block.';
127
+ }
128
+ if (res.status === 404) {
129
+ return `No Blueprint found for this workspace.
130
+ Create one at useagentbrain.com/settings → Blueprint tab.`;
131
+ }
132
+ if (!res.ok) {
133
+ const json = (await res.json());
134
+ return json.error ?? 'Failed to load Blueprint from AgentBrain.';
135
+ }
136
+ const json = (await res.json());
137
+ if (!json.data) {
138
+ return `No Blueprint found for this workspace.
139
+ Create one at useagentbrain.com/settings → Blueprint tab.`;
140
+ }
141
+ const content = json.data.content;
142
+ if (isContentEmpty(content)) {
143
+ return `Blueprint exists but has no content yet.
144
+ Fill it out at useagentbrain.com/settings → Blueprint tab.`;
145
+ }
146
+ return formatBlueprint(content);
147
+ }
148
+ catch (err) {
149
+ return err instanceof Error ? err.message : 'Failed to load Blueprint.';
150
+ }
151
+ }
152
+ //# sourceMappingURL=load-blueprint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-blueprint.js","sourceRoot":"","sources":["../../src/tools/load-blueprint.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"load-context.d.ts","sourceRoot":"","sources":["../../src/tools/load-context.ts"],"names":[],"mappings":"AAMA,OAAO,EAOL,KAAK,iBAAiB,EAKvB,MAAM,kBAAkB,CAAA;AAuLzB,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAA;CACxC;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA0PrF;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmC7B,CAAA"}
1
+ {"version":3,"file":"load-context.d.ts","sourceRoot":"","sources":["../../src/tools/load-context.ts"],"names":[],"mappings":"AAMA,OAAO,EAOL,KAAK,iBAAiB,EAMvB,MAAM,kBAAkB,CAAA;AA4UzB,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAA;CACxC;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAqRrF;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmC7B,CAAA"}