bc-code-intelligence-mcp 1.7.1 → 1.7.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.
@@ -4,8 +4,8 @@
4
4
  * Loads project-specific knowledge overrides from ./bckb-overrides/ directory.
5
5
  * This is the highest priority layer that can override any embedded knowledge.
6
6
  */
7
- import { LayerLoadResult } from '../types/layer-types.js';
8
- import { BaseKnowledgeLayer } from './base-layer.js';
7
+ import { LayerLoadResult } from "../types/layer-types.js";
8
+ import { BaseKnowledgeLayer } from "./base-layer.js";
9
9
  export declare class ProjectKnowledgeLayer extends BaseKnowledgeLayer {
10
10
  private readonly projectPath;
11
11
  constructor(projectPath?: string);
@@ -1 +1 @@
1
- {"version":3,"file":"project-layer.d.ts","sourceRoot":"","sources":["../../src/layers/project-layer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EAAiB,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,qBAAa,qBAAsB,SAAQ,kBAAkB;IAEzD,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,GAAE,MAA2B;IAK3D;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,eAAe,CAAC;IA8C5C;;OAEG;YACW,2BAA2B;IASzC;;OAEG;cACa,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAqD7C;;OAEG;cACa,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAuC9C;;OAEG;cACa,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAalD;;OAEG;cACa,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAiDhD;;OAEG;YACW,YAAY;IAqB1B;;OAEG;YACW,eAAe;IA8D7B;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIrC;;OAEG;IACH,iBAAiB,IAAI;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;IAahF;;OAEG;IACH,MAAM,CAAC,uBAAuB,IAAI,MAAM;CAoCzC"}
1
+ {"version":3,"file":"project-layer.d.ts","sourceRoot":"","sources":["../../src/layers/project-layer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EAAiB,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,qBAAa,qBAAsB,SAAQ,kBAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,GAAE,MAA2B;IAIrE;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,eAAe,CAAC;IA2D5C;;OAEG;YACW,2BAA2B;IASzC;;OAEG;cACa,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IA0D7C;;OAEG;cACa,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IA0C9C;;OAEG;cACa,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAalD;;OAEG;cACa,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAwDhD;;OAEG;YACW,YAAY;IAuB1B;;OAEG;YACW,eAAe;IAqE7B;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIrC;;OAEG;IACH,iBAAiB,IAAI;QACnB,CAAC,OAAO,EAAE,MAAM,GAAG;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KACzD;IAcD;;OAEG;IACH,MAAM,CAAC,uBAAuB,IAAI,MAAM;CAoCzC"}
@@ -4,17 +4,17 @@
4
4
  * Loads project-specific knowledge overrides from ./bckb-overrides/ directory.
5
5
  * This is the highest priority layer that can override any embedded knowledge.
6
6
  */
7
- import { readFile, stat, access } from 'fs/promises';
8
- import { join, basename } from 'path';
9
- import * as yaml from 'yaml';
10
- import glob from 'fast-glob';
11
- import { AtomicTopicFrontmatterSchema } from '../types/bc-knowledge.js';
12
- import { LayerPriority } from '../types/layer-types.js';
13
- import { BaseKnowledgeLayer } from './base-layer.js';
7
+ import { readFile, stat, access } from "fs/promises";
8
+ import { join, basename } from "path";
9
+ import * as yaml from "yaml";
10
+ import glob from "fast-glob";
11
+ import { AtomicTopicFrontmatterSchema, } from "../types/bc-knowledge.js";
12
+ import { LayerPriority } from "../types/layer-types.js";
13
+ import { BaseKnowledgeLayer } from "./base-layer.js";
14
14
  export class ProjectKnowledgeLayer extends BaseKnowledgeLayer {
15
15
  projectPath;
16
- constructor(projectPath = './bckb-overrides') {
17
- super('project', LayerPriority.PROJECT, true);
16
+ constructor(projectPath = "./bckb-overrides") {
17
+ super("project", LayerPriority.PROJECT, true);
18
18
  this.projectPath = projectPath;
19
19
  }
20
20
  /**
@@ -41,7 +41,7 @@ export class ProjectKnowledgeLayer extends BaseKnowledgeLayer {
41
41
  this.loadTopics(),
42
42
  this.loadSpecialists(),
43
43
  this.loadWorkflows(),
44
- this.loadIndexes()
44
+ this.loadIndexes(),
45
45
  ]);
46
46
  const loadTimeMs = Date.now() - startTime;
47
47
  this.initialized = true;
@@ -75,16 +75,16 @@ export class ProjectKnowledgeLayer extends BaseKnowledgeLayer {
75
75
  async loadTopics() {
76
76
  // Look for markdown files in various potential structures
77
77
  const patterns = [
78
- join(this.projectPath, '**', '*.md'),
79
- join(this.projectPath, 'domains', '**', '*.md'),
80
- join(this.projectPath, 'topics', '**', '*.md'),
81
- join(this.projectPath, 'overrides', '**', '*.md')
78
+ join(this.projectPath, "**", "*.md"),
79
+ join(this.projectPath, "domains", "**", "*.md"),
80
+ join(this.projectPath, "topics", "**", "*.md"),
81
+ join(this.projectPath, "overrides", "**", "*.md"),
82
82
  ];
83
83
  let allTopicFiles = [];
84
84
  for (const pattern of patterns) {
85
85
  try {
86
- const files = await glob(pattern.replace(/\\/g, '/'), {
87
- ignore: ['**/samples/**', '**/node_modules/**', '**/.git/**']
86
+ const files = await glob(pattern.replace(/\\/g, "/"), {
87
+ ignore: ["**/samples/**", "**/node_modules/**", "**/.git/**"],
88
88
  });
89
89
  allTopicFiles.push(...files);
90
90
  }
@@ -125,22 +125,22 @@ export class ProjectKnowledgeLayer extends BaseKnowledgeLayer {
125
125
  */
126
126
  async loadIndexes() {
127
127
  const indexPaths = [
128
- join(this.projectPath, 'indexes'),
129
- join(this.projectPath, 'config')
128
+ join(this.projectPath, "indexes"),
129
+ join(this.projectPath, "config"),
130
130
  ];
131
131
  let loadedIndexes = 0;
132
132
  for (const indexesPath of indexPaths) {
133
133
  try {
134
134
  await access(indexesPath);
135
135
  // Load any JSON files as indexes
136
- const jsonFiles = await glob('*.json', { cwd: indexesPath });
136
+ const jsonFiles = await glob("*.json", { cwd: indexesPath });
137
137
  for (const jsonFile of jsonFiles) {
138
138
  try {
139
139
  const filePath = join(indexesPath, jsonFile);
140
- const content = await readFile(filePath, 'utf-8');
141
- const cleanContent = content.replace(/^\uFEFF/, ''); // Remove BOM
140
+ const content = await readFile(filePath, "utf-8");
141
+ const cleanContent = content.replace(/^\uFEFF/, ""); // Remove BOM
142
142
  const indexData = JSON.parse(cleanContent);
143
- const indexName = `project:${basename(jsonFile, '.json')}`;
143
+ const indexName = `project:${basename(jsonFile, ".json")}`;
144
144
  this.indexes.set(indexName, indexData);
145
145
  loadedIndexes++;
146
146
  console.error(`📋 Project index loaded: ${indexName}`);
@@ -160,7 +160,7 @@ export class ProjectKnowledgeLayer extends BaseKnowledgeLayer {
160
160
  * Load project-specific specialists
161
161
  */
162
162
  async loadSpecialists() {
163
- const specialistsPath = join(this.projectPath, 'specialists');
163
+ const specialistsPath = join(this.projectPath, "specialists");
164
164
  try {
165
165
  await access(specialistsPath);
166
166
  // TODO: Implement specialist loading when needed
@@ -175,8 +175,8 @@ export class ProjectKnowledgeLayer extends BaseKnowledgeLayer {
175
175
  */
176
176
  async loadWorkflows() {
177
177
  // Prefer workflows/, fall back to methodologies/ for backward compatibility
178
- const workflowsPath = join(this.projectPath, 'workflows');
179
- const legacyPath = join(this.projectPath, 'methodologies');
178
+ const workflowsPath = join(this.projectPath, "workflows");
179
+ const legacyPath = join(this.projectPath, "methodologies");
180
180
  let activePath = null;
181
181
  try {
182
182
  await access(workflowsPath);
@@ -198,7 +198,7 @@ export class ProjectKnowledgeLayer extends BaseKnowledgeLayer {
198
198
  return 0;
199
199
  }
200
200
  // Load workflow files
201
- const workflowFiles = await glob('*.yaml', { cwd: activePath });
201
+ const workflowFiles = await glob("*.yaml", { cwd: activePath });
202
202
  console.error(`📋 Found ${workflowFiles.length} workflow files in project layer`);
203
203
  let loadedCount = 0;
204
204
  for (const workflowFile of workflowFiles) {
@@ -206,7 +206,7 @@ export class ProjectKnowledgeLayer extends BaseKnowledgeLayer {
206
206
  const filePath = join(activePath, workflowFile);
207
207
  const workflow = await this.loadWorkflow(filePath);
208
208
  if (workflow) {
209
- const workflowId = workflow.type || basename(workflowFile, '.yaml');
209
+ const workflowId = workflow.type || basename(workflowFile, ".yaml");
210
210
  this.workflows.set(workflowId, workflow);
211
211
  loadedCount++;
212
212
  }
@@ -223,8 +223,10 @@ export class ProjectKnowledgeLayer extends BaseKnowledgeLayer {
223
223
  */
224
224
  async loadWorkflow(filePath) {
225
225
  try {
226
- const content = await readFile(filePath, 'utf-8');
227
- const normalizedContent = content.replace(/^\uFEFF/, '').replace(/\r\n/g, '\n');
226
+ const content = await readFile(filePath, "utf-8");
227
+ const normalizedContent = content
228
+ .replace(/^\uFEFF/, "")
229
+ .replace(/\r\n/g, "\n");
228
230
  // Parse YAML content
229
231
  const workflowData = yaml.parse(normalizedContent);
230
232
  // Validate required fields
@@ -255,10 +257,12 @@ export class ProjectKnowledgeLayer extends BaseKnowledgeLayer {
255
257
  console.error(`Failed to stat file ${filePath}:`, error instanceof Error ? error.message : String(error));
256
258
  return null;
257
259
  }
258
- const content = await readFile(filePath, 'utf-8');
260
+ const content = await readFile(filePath, "utf-8");
259
261
  const stats = await stat(filePath);
260
262
  // Normalize line endings
261
- const normalizedContent = content.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
263
+ const normalizedContent = content
264
+ .replace(/\r\n/g, "\n")
265
+ .replace(/\r/g, "\n");
262
266
  // Extract YAML frontmatter
263
267
  const frontmatterMatch = normalizedContent.match(/^---\s*\n([\s\S]*?)\n---\s*\n([\s\S]*)$/);
264
268
  if (!frontmatterMatch) {
@@ -266,16 +270,16 @@ export class ProjectKnowledgeLayer extends BaseKnowledgeLayer {
266
270
  }
267
271
  const [, frontmatterContent, markdownContent] = frontmatterMatch;
268
272
  // Parse and validate frontmatter
269
- const frontmatterData = yaml.parse(frontmatterContent || '');
273
+ const frontmatterData = yaml.parse(frontmatterContent || "");
270
274
  const frontmatter = AtomicTopicFrontmatterSchema.parse(frontmatterData);
271
275
  // Generate topic ID from file path relative to project root
272
276
  const topicId = this.normalizeTopicId(filePath, this.projectPath);
273
277
  // Load companion sample file if exists
274
278
  let samples;
275
279
  if (frontmatter.samples) {
276
- const samplesPath = join(filePath, '..', frontmatter.samples);
280
+ const samplesPath = join(filePath, "..", frontmatter.samples);
277
281
  try {
278
- const sampleContent = await readFile(samplesPath, 'utf-8');
282
+ const sampleContent = await readFile(samplesPath, "utf-8");
279
283
  samples = { filePath: samplesPath, content: sampleContent };
280
284
  }
281
285
  catch {
@@ -284,17 +288,17 @@ export class ProjectKnowledgeLayer extends BaseKnowledgeLayer {
284
288
  }
285
289
  return {
286
290
  id: topicId,
287
- title: frontmatter.title || topicId.replace(/-/g, ' '),
291
+ title: frontmatter.title || topicId.replace(/-/g, " "),
288
292
  filePath,
289
293
  frontmatter: {
290
294
  ...frontmatter,
291
295
  // Mark as override for identification
292
- tags: [...(frontmatter.tags || []), 'project-override']
296
+ tags: [...(frontmatter.tags || []), "project-override"],
293
297
  },
294
- content: markdownContent?.trim() || '',
298
+ content: markdownContent?.trim() || "",
295
299
  wordCount: markdownContent?.split(/\s+/).length || 0,
296
300
  lastModified: stats.mtime,
297
- samples: samples || undefined
301
+ samples: samples || undefined,
298
302
  };
299
303
  }
300
304
  /**
@@ -310,8 +314,8 @@ export class ProjectKnowledgeLayer extends BaseKnowledgeLayer {
310
314
  const config = {};
311
315
  for (const topicId of this.getTopicIds()) {
312
316
  config[topicId] = {
313
- strategy: 'replace',
314
- source: this.name
317
+ strategy: "replace",
318
+ source: this.name,
315
319
  };
316
320
  }
317
321
  return config;
@@ -1 +1 @@
1
- {"version":3,"file":"project-layer.js","sourceRoot":"","sources":["../../src/layers/project-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-layer.js","sourceRoot":"","sources":["../../src/layers/project-layer.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  export interface AskExpertOptions {
8
8
  context?: string;
9
9
  bcVersion?: string;
10
- format?: 'detailed' | 'concise';
10
+ format?: "detailed" | "concise";
11
11
  }
12
12
  export interface SpecialistAdviceOptions {
13
13
  context?: string;
@@ -4,10 +4,10 @@
4
4
  * Programmatic access to BC specialists without MCP registration.
5
5
  * Provides methods for CLI and other programmatic use cases.
6
6
  */
7
- import { Client } from '@modelcontextprotocol/sdk/client/index.js';
8
- import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
9
- import { fileURLToPath } from 'url';
10
- import { dirname, join } from 'path';
7
+ import { Client } from "@modelcontextprotocol/sdk/client/index.js";
8
+ import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
9
+ import { fileURLToPath } from "url";
10
+ import { dirname, join } from "path";
11
11
  const __filename = fileURLToPath(import.meta.url);
12
12
  const __dirname = dirname(__filename);
13
13
  /**
@@ -21,19 +21,19 @@ export class BCCodeIntelClient {
21
21
  */
22
22
  async connect() {
23
23
  // Spawn the MCP server as a child process
24
- const serverPath = join(__dirname, '..', 'index.js');
24
+ const serverPath = join(__dirname, "..", "index.js");
25
25
  // Create MCP client
26
26
  this.client = new Client({
27
- name: 'bc-code-intel-cli',
28
- version: '1.0.0',
27
+ name: "bc-code-intel-cli",
28
+ version: "1.0.0",
29
29
  }, {
30
30
  capabilities: {},
31
31
  });
32
32
  // Create stdio transport using the server process stdio streams
33
33
  this.transport = new StdioClientTransport({
34
- command: 'node',
34
+ command: "node",
35
35
  args: [serverPath],
36
- env: { ...process.env, MCP_SERVER_MODE: 'stdio' },
36
+ env: { ...process.env, MCP_SERVER_MODE: "stdio" },
37
37
  });
38
38
  // Connect
39
39
  await this.client.connect(this.transport);
@@ -56,32 +56,32 @@ export class BCCodeIntelClient {
56
56
  */
57
57
  async askExpert(question, options = {}) {
58
58
  if (!this.client) {
59
- throw new Error('Client not connected. Call connect() first.');
59
+ throw new Error("Client not connected. Call connect() first.");
60
60
  }
61
61
  const response = await this.client.callTool({
62
- name: 'ask_bc_expert',
62
+ name: "ask_bc_expert",
63
63
  arguments: {
64
64
  question,
65
- context: options.context || '',
65
+ context: options.context || "",
66
66
  bc_version: options.bcVersion,
67
67
  autonomous_mode: true, // Get full structured response
68
68
  },
69
69
  });
70
70
  if (response.isError) {
71
- throw new Error(response.content[0]?.text || 'Unknown error');
71
+ throw new Error(response.content[0]?.text || "Unknown error");
72
72
  }
73
73
  // Parse the response
74
- const resultText = response.content[0]?.text || '{}';
74
+ const resultText = response.content[0]?.text || "{}";
75
75
  const result = JSON.parse(resultText);
76
76
  return {
77
77
  specialist: {
78
- id: result.specialist_used || 'unknown',
79
- name: result.specialist_name || 'Unknown Specialist',
80
- role: result.specialist_role || '',
81
- emoji: result.specialist_emoji || '🤖',
78
+ id: result.specialist_used || "unknown",
79
+ name: result.specialist_name || "Unknown Specialist",
80
+ role: result.specialist_role || "",
81
+ emoji: result.specialist_emoji || "🤖",
82
82
  expertise: result.specialist_expertise || [],
83
83
  },
84
- response: result.response || result.answer || '',
84
+ response: result.response || result.answer || "",
85
85
  recommended_topics: result.recommended_topics || [],
86
86
  follow_up_suggestions: result.follow_up_suggestions || [],
87
87
  };
@@ -91,21 +91,21 @@ export class BCCodeIntelClient {
91
91
  */
92
92
  async suggestSpecialist(question) {
93
93
  if (!this.client) {
94
- throw new Error('Client not connected. Call connect() first.');
94
+ throw new Error("Client not connected. Call connect() first.");
95
95
  }
96
96
  const response = await this.client.callTool({
97
- name: 'discover_specialists',
97
+ name: "discover_specialists",
98
98
  arguments: {
99
99
  query: question,
100
100
  },
101
101
  });
102
102
  if (response.isError) {
103
- throw new Error(response.content[0]?.text || 'Unknown error');
103
+ throw new Error(response.content[0]?.text || "Unknown error");
104
104
  }
105
- const resultText = response.content[0]?.text || '{}';
105
+ const resultText = response.content[0]?.text || "{}";
106
106
  const result = JSON.parse(resultText);
107
107
  if (!result.specialists || result.specialists.length === 0) {
108
- throw new Error('No specialists found for this question');
108
+ throw new Error("No specialists found for this question");
109
109
  }
110
110
  const topSpecialist = result.specialists[0];
111
111
  const alternatives = result.specialists.slice(1, 4).map((s) => s.name);
@@ -114,7 +114,7 @@ export class BCCodeIntelClient {
114
114
  id: topSpecialist.id,
115
115
  name: topSpecialist.name,
116
116
  role: topSpecialist.role,
117
- emoji: topSpecialist.emoji || '🤖',
117
+ emoji: topSpecialist.emoji || "🤖",
118
118
  expertise: topSpecialist.expertise || [],
119
119
  specializations: topSpecialist.specializations || [],
120
120
  },
@@ -127,32 +127,32 @@ export class BCCodeIntelClient {
127
127
  */
128
128
  async getSpecialistAdvice(specialistId, question, options = {}) {
129
129
  if (!this.client) {
130
- throw new Error('Client not connected. Call connect() first.');
130
+ throw new Error("Client not connected. Call connect() first.");
131
131
  }
132
132
  const response = await this.client.callTool({
133
- name: 'ask_bc_expert',
133
+ name: "ask_bc_expert",
134
134
  arguments: {
135
135
  question,
136
136
  specialist_id: specialistId,
137
- context: options.context || '',
137
+ context: options.context || "",
138
138
  bc_version: options.bcVersion,
139
139
  autonomous_mode: true,
140
140
  },
141
141
  });
142
142
  if (response.isError) {
143
- throw new Error(response.content[0]?.text || 'Unknown error');
143
+ throw new Error(response.content[0]?.text || "Unknown error");
144
144
  }
145
- const resultText = response.content[0]?.text || '{}';
145
+ const resultText = response.content[0]?.text || "{}";
146
146
  const result = JSON.parse(resultText);
147
147
  return {
148
148
  specialist: {
149
149
  id: result.specialist_used || specialistId,
150
- name: result.specialist_name || 'Unknown Specialist',
151
- role: result.specialist_role || '',
152
- emoji: result.specialist_emoji || '🤖',
150
+ name: result.specialist_name || "Unknown Specialist",
151
+ role: result.specialist_role || "",
152
+ emoji: result.specialist_emoji || "🤖",
153
153
  expertise: result.specialist_expertise || [],
154
154
  },
155
- response: result.response || result.answer || '',
155
+ response: result.response || result.answer || "",
156
156
  recommended_topics: result.recommended_topics || [],
157
157
  follow_up_suggestions: result.follow_up_suggestions || [],
158
158
  };
@@ -162,18 +162,18 @@ export class BCCodeIntelClient {
162
162
  */
163
163
  async discoverSpecialists(query) {
164
164
  if (!this.client) {
165
- throw new Error('Client not connected. Call connect() first.');
165
+ throw new Error("Client not connected. Call connect() first.");
166
166
  }
167
167
  const response = await this.client.callTool({
168
- name: 'discover_specialists',
168
+ name: "discover_specialists",
169
169
  arguments: {
170
- query: query || '*', // Use wildcard to get all specialists
170
+ query: query || "*", // Use wildcard to get all specialists
171
171
  },
172
172
  });
173
173
  if (response.isError) {
174
- throw new Error(response.content[0]?.text || 'Unknown error');
174
+ throw new Error(response.content[0]?.text || "Unknown error");
175
175
  }
176
- const resultText = response.content[0]?.text || '{}';
176
+ const resultText = response.content[0]?.text || "{}";
177
177
  const result = JSON.parse(resultText);
178
178
  if (!result.specialists) {
179
179
  return [];
@@ -182,7 +182,7 @@ export class BCCodeIntelClient {
182
182
  id: s.id,
183
183
  name: s.name,
184
184
  role: s.role,
185
- emoji: s.emoji || '🤖',
185
+ emoji: s.emoji || "🤖",
186
186
  expertise: s.expertise || [],
187
187
  specializations: s.specializations || [],
188
188
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/tools/ask_bc_expert/handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,GAAG,IAGtC,MAAM,GAAG;;;;;;;;;;;;;;GAuKxB"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/tools/ask_bc_expert/handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,GAAG,IAGtC,MAAM,GAAG;;;;;;;;;;;;;;GAwNxB"}