bc-code-intelligence-mcp 1.3.0 → 1.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 +18 -12
- package/dist/services/roleplay-engine.d.ts +8 -0
- package/dist/services/roleplay-engine.d.ts.map +1 -1
- package/dist/services/roleplay-engine.js +80 -0
- package/dist/services/roleplay-engine.js.map +1 -1
- package/dist/services/specialist-discovery.d.ts +18 -0
- package/dist/services/specialist-discovery.d.ts.map +1 -1
- package/dist/services/specialist-discovery.js +64 -1
- package/dist/services/specialist-discovery.js.map +1 -1
- package/dist/services/specialist-handoff-service.d.ts +4 -0
- package/dist/services/specialist-handoff-service.d.ts.map +1 -1
- package/dist/services/specialist-handoff-service.js +42 -20
- package/dist/services/specialist-handoff-service.js.map +1 -1
- package/dist/services/workflow-service.d.ts.map +1 -1
- package/dist/services/workflow-service.js +12 -3
- package/dist/services/workflow-service.js.map +1 -1
- package/dist/streamlined-handlers.d.ts +14 -0
- package/dist/streamlined-handlers.d.ts.map +1 -1
- package/dist/streamlined-handlers.js +152 -27
- package/dist/streamlined-handlers.js.map +1 -1
- package/dist/streamlined-tools.d.ts.map +1 -1
- package/dist/streamlined-tools.js +9 -2
- package/dist/streamlined-tools.js.map +1 -1
- package/dist/tools/specialist-discovery-tools.d.ts.map +1 -1
- package/dist/tools/specialist-discovery-tools.js +24 -36
- package/dist/tools/specialist-discovery-tools.js.map +1 -1
- package/dist/tools/specialist-tools.d.ts +5 -0
- package/dist/tools/specialist-tools.d.ts.map +1 -1
- package/dist/tools/specialist-tools.js +47 -13
- package/dist/tools/specialist-tools.js.map +1 -1
- package/dist/types/roleplay-types.d.ts +1 -1
- package/dist/types/roleplay-types.d.ts.map +1 -1
- package/embedded-knowledge/specialists/sam-coder.md +203 -25
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamlined-tools.js","sourceRoot":"","sources":["../src/streamlined-tools.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,yIAAyI;QACtJ,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+CAA+C;iBAC7D;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,CAAC;oBACnD,WAAW,EAAE,2BAA2B;oBACxC,OAAO,EAAE,KAAK;iBACf;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iDAAiD;iBAC/D;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qCAAqC;oBAClD,OAAO,EAAE,EAAE;iBACZ;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"streamlined-tools.js","sourceRoot":"","sources":["../src/streamlined-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specialist-discovery-tools.d.ts","sourceRoot":"","sources":["../../src/tools/specialist-discovery-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE3F,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAmBtF,eAAO,MAAM,0BAA0B,EAAE,IAAI,EA+D5C,CAAC;AAEF,qBAAa,wBAAwB;IAEjC,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,YAAY;gBAFZ,gBAAgB,EAAE,0BAA0B,EAC5C,cAAc,EAAE,wBAAwB,EACxC,YAAY,EAAE,wBAAwB;IAGhD;;OAEG;IACH,kBAAkB,IAAI,IAAI,EAAE;IAItB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;YAyBzD,mBAAmB;
|
|
1
|
+
{"version":3,"file":"specialist-discovery-tools.d.ts","sourceRoot":"","sources":["../../src/tools/specialist-discovery-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE3F,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAmBtF,eAAO,MAAM,0BAA0B,EAAE,IAAI,EA+D5C,CAAC;AAEF,qBAAa,wBAAwB;IAEjC,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,YAAY;gBAFZ,gBAAgB,EAAE,0BAA0B,EAC5C,cAAc,EAAE,wBAAwB,EACxC,YAAY,EAAE,wBAAwB;IAGhD;;OAEG;IACH,kBAAkB,IAAI,IAAI,EAAE;IAItB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;YAyBzD,mBAAmB;YAoCnB,iBAAiB;YAwDjB,iBAAiB;IA0E/B,OAAO,CAAC,oBAAoB;CAW7B"}
|
|
@@ -128,44 +128,28 @@ export class SpecialistDiscoveryTools {
|
|
|
128
128
|
const suggestions = await this.discoveryService.suggestSpecialists({
|
|
129
129
|
query: args.query
|
|
130
130
|
}, args.max_suggestions);
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
result += ` 📋 **Role:** ${suggestion.specialist.role}\n`;
|
|
149
|
-
if (suggestion.reasons.length > 0) {
|
|
150
|
-
result += ` ✅ **Why:** ${suggestion.reasons.join(', ')}\n`;
|
|
151
|
-
}
|
|
152
|
-
if (suggestion.keywords_matched.length > 0) {
|
|
153
|
-
result += ` 🔍 **Keywords:** ${suggestion.keywords_matched.join(', ')}\n`;
|
|
154
|
-
}
|
|
155
|
-
if (args.include_examples) {
|
|
156
|
-
const example = this.generateExampleQuery(suggestion.specialist);
|
|
157
|
-
result += ` 💬 **Try asking:** "${example}"\n`;
|
|
158
|
-
}
|
|
159
|
-
result += '\n';
|
|
160
|
-
}
|
|
161
|
-
result += '💡 **Next Steps:**\n';
|
|
162
|
-
result += '1. Use `suggest_specialist` tool to start a session with your chosen specialist\n';
|
|
163
|
-
result += '2. Or ask: "Start a session with [specialist-id]"\n';
|
|
131
|
+
// Get complete specialist roster
|
|
132
|
+
const allSpecialists = await this.discoveryService.getAllSpecialistsInfo();
|
|
133
|
+
const result = {
|
|
134
|
+
query: args.query,
|
|
135
|
+
matches: suggestions.map(suggestion => ({
|
|
136
|
+
specialist_id: suggestion.specialist.specialist_id,
|
|
137
|
+
title: suggestion.specialist.title || suggestion.specialist.specialist_id,
|
|
138
|
+
role: suggestion.specialist.role || 'Specialist',
|
|
139
|
+
confidence: Math.round(suggestion.confidence * 100),
|
|
140
|
+
match_type: suggestion.match_type || 'content_match',
|
|
141
|
+
reasons: suggestion.reasons,
|
|
142
|
+
keywords_matched: suggestion.keywords_matched,
|
|
143
|
+
emoji: suggestion.specialist.emoji || '�'
|
|
144
|
+
})),
|
|
145
|
+
all_specialists: allSpecialists,
|
|
146
|
+
total_available: allSpecialists.length
|
|
147
|
+
};
|
|
164
148
|
return {
|
|
165
149
|
content: [
|
|
166
150
|
{
|
|
167
151
|
type: 'text',
|
|
168
|
-
text: result
|
|
152
|
+
text: JSON.stringify(result, null, 2)
|
|
169
153
|
}
|
|
170
154
|
]
|
|
171
155
|
};
|
|
@@ -220,13 +204,17 @@ export class SpecialistDiscoveryTools {
|
|
|
220
204
|
}
|
|
221
205
|
async getSpecialistInfo(request) {
|
|
222
206
|
const args = GetSpecialistArgsSchema.parse(request.params.arguments);
|
|
223
|
-
|
|
207
|
+
// Try exact ID match first, then fuzzy matching
|
|
208
|
+
let specialist = await this.layerService.getSpecialist(args.specialist_id);
|
|
209
|
+
if (!specialist) {
|
|
210
|
+
specialist = await this.discoveryService.findSpecialistByName(args.specialist_id);
|
|
211
|
+
}
|
|
224
212
|
if (!specialist) {
|
|
225
213
|
return {
|
|
226
214
|
content: [
|
|
227
215
|
{
|
|
228
216
|
type: 'text',
|
|
229
|
-
text: `Specialist "${args.specialist_id}" not found. Use \`list_specialists\` to see available specialists.`
|
|
217
|
+
text: `Specialist "${args.specialist_id}" not found. Tried exact ID match and fuzzy name matching. Use \`list_specialists\` to see available specialists.`
|
|
230
218
|
}
|
|
231
219
|
],
|
|
232
220
|
isError: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specialist-discovery-tools.js","sourceRoot":"","sources":["../../src/tools/specialist-discovery-tools.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"specialist-discovery-tools.js","sourceRoot":"","sources":["../../src/tools/specialist-discovery-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,5 +34,10 @@ export declare class SpecialistTools {
|
|
|
34
34
|
* List available specialists with filtering
|
|
35
35
|
*/
|
|
36
36
|
private handleListSpecialists;
|
|
37
|
+
/**
|
|
38
|
+
* Find specialist by partial/fuzzy name matching
|
|
39
|
+
* Handles cases like "Sam" -> "sam-coder", "Dean" -> "dean-debug", etc.
|
|
40
|
+
*/
|
|
41
|
+
private findSpecialistByFuzzyName;
|
|
37
42
|
}
|
|
38
43
|
//# sourceMappingURL=specialist-tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specialist-tools.d.ts","sourceRoot":"","sources":["../../src/tools/specialist-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAErF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAqBpE,qBAAa,eAAe;IAIxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IALnC,OAAO,CAAC,cAAc,CAA6B;gBAGhC,YAAY,EAAE,wBAAwB,EACtC,cAAc,EAAE,wBAAwB,EACxC,gBAAgB,EAAE,gBAAgB;IAKrD;;OAEG;IACH,kBAAkB,IAAI,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"specialist-tools.d.ts","sourceRoot":"","sources":["../../src/tools/specialist-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAErF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAqBpE,qBAAa,eAAe;IAIxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IALnC,OAAO,CAAC,cAAc,CAA6B;gBAGhC,YAAY,EAAE,wBAAwB,EACtC,cAAc,EAAE,wBAAwB,EACxC,gBAAgB,EAAE,gBAAgB;IAKrD;;OAEG;IACH,kBAAkB,IAAI,IAAI,EAAE;IA6E5B;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IA6BvE;;OAEG;YACW,uBAAuB;IAiDrC;;OAEG;YACW,yBAAyB;IA0GvC;;OAEG;YACW,qBAAqB;IAwEnC;;;OAGG;YACW,yBAAyB;CAiCxC"}
|
|
@@ -39,7 +39,7 @@ export class SpecialistTools {
|
|
|
39
39
|
return [
|
|
40
40
|
{
|
|
41
41
|
name: 'suggest_specialist',
|
|
42
|
-
description: 'Find the most appropriate BC specialist for your question or
|
|
42
|
+
description: 'Find the most appropriate BC specialist for your question. IMPORTANT: When user wants to "talk to" or "chat with" a specific specialist, use get_specialist_advice directly instead. This tool is for discovering which specialist to use when unsure.',
|
|
43
43
|
inputSchema: {
|
|
44
44
|
type: 'object',
|
|
45
45
|
properties: {
|
|
@@ -58,7 +58,14 @@ export class SpecialistTools {
|
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
60
|
name: 'get_specialist_advice',
|
|
61
|
-
description:
|
|
61
|
+
description: `Connect directly with a BC specialist who responds authentically as themselves. CRITICAL FOR AGENTS: Respond AS the specialist, not as an AI describing roleplay. No menus, no explanations - dive straight into the specialist persona and expertise. Perfect for "Talk to Sam", "Chat with Dean", etc.
|
|
62
|
+
|
|
63
|
+
🔧 **AL/BC Platform Constraints**: All specialist advice MUST respect Business Central and AL language limitations:
|
|
64
|
+
• Security specialists: Focus on AL permission objects, user groups, BC security framework - NOT external auth systems
|
|
65
|
+
• UX specialists: Work within AL page/report constraints - BC controls rendering, NOT custom CSS/HTML
|
|
66
|
+
• Performance specialists: AL optimization patterns, table design, BC server constraints - NOT generic frameworks
|
|
67
|
+
• API specialists: BC API pages, web services, AL integration - NOT generic REST frameworks
|
|
68
|
+
• All specialists: Prioritize AL language capabilities and BC platform limitations over generic programming`,
|
|
62
69
|
inputSchema: {
|
|
63
70
|
type: 'object',
|
|
64
71
|
properties: {
|
|
@@ -181,13 +188,17 @@ export class SpecialistTools {
|
|
|
181
188
|
*/
|
|
182
189
|
async handleGetSpecialistAdvice(request) {
|
|
183
190
|
const validated = GetSpecialistAdviceSchema.parse(request.params.arguments);
|
|
184
|
-
//
|
|
185
|
-
|
|
191
|
+
// Try exact ID match first
|
|
192
|
+
let specialist = await this.layerService.getSpecialist(validated.specialist_id);
|
|
193
|
+
// If not found, try fuzzy matching
|
|
194
|
+
if (!specialist) {
|
|
195
|
+
specialist = await this.findSpecialistByFuzzyName(validated.specialist_id);
|
|
196
|
+
}
|
|
186
197
|
if (!specialist) {
|
|
187
198
|
return {
|
|
188
199
|
content: [{
|
|
189
200
|
type: 'text',
|
|
190
|
-
text: `❌ Specialist '${validated.specialist_id}' not found. Use 'list_specialists' to see available experts.`
|
|
201
|
+
text: `❌ Specialist '${validated.specialist_id}' not found. Tried exact ID match and fuzzy name matching. Use 'list_specialists' to see available experts.`
|
|
191
202
|
}],
|
|
192
203
|
isError: true
|
|
193
204
|
};
|
|
@@ -196,16 +207,13 @@ export class SpecialistTools {
|
|
|
196
207
|
let sessionId = validated.session_id;
|
|
197
208
|
let session;
|
|
198
209
|
if (sessionId) {
|
|
199
|
-
// Get existing session
|
|
210
|
+
// Get existing session with auto-recovery
|
|
200
211
|
session = await this.sessionManager.getSession(sessionId);
|
|
201
212
|
if (!session) {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
}],
|
|
207
|
-
isError: true
|
|
208
|
-
};
|
|
213
|
+
// Auto-recover: create new session instead of failing
|
|
214
|
+
console.warn(`Session '${sessionId}' not found. Creating recovery session.`);
|
|
215
|
+
session = await this.sessionManager.startSession(validated.specialist_id, 'default-user', `Recovery session. Original session ${sessionId} was lost. Context: ${validated.problem_context || validated.message}`);
|
|
216
|
+
sessionId = session.sessionId;
|
|
209
217
|
}
|
|
210
218
|
}
|
|
211
219
|
else {
|
|
@@ -318,5 +326,31 @@ export class SpecialistTools {
|
|
|
318
326
|
content: [{ type: 'text', text: response }]
|
|
319
327
|
};
|
|
320
328
|
}
|
|
329
|
+
/**
|
|
330
|
+
* Find specialist by partial/fuzzy name matching
|
|
331
|
+
* Handles cases like "Sam" -> "sam-coder", "Dean" -> "dean-debug", etc.
|
|
332
|
+
*/
|
|
333
|
+
async findSpecialistByFuzzyName(partialName) {
|
|
334
|
+
const allSpecialists = await this.layerService.getAllSpecialists();
|
|
335
|
+
const searchTerm = partialName.toLowerCase().trim();
|
|
336
|
+
// First try exact specialist_id match (case insensitive)
|
|
337
|
+
let match = allSpecialists.find(specialist => specialist.specialist_id.toLowerCase() === searchTerm);
|
|
338
|
+
if (match)
|
|
339
|
+
return match;
|
|
340
|
+
// Try partial match in specialist_id
|
|
341
|
+
match = allSpecialists.find(specialist => specialist.specialist_id.toLowerCase().includes(searchTerm));
|
|
342
|
+
if (match)
|
|
343
|
+
return match;
|
|
344
|
+
// Try matching first part of specialist_id (before the dash)
|
|
345
|
+
match = allSpecialists.find(specialist => {
|
|
346
|
+
const firstName = specialist.specialist_id.split('-')[0].toLowerCase();
|
|
347
|
+
return firstName === searchTerm;
|
|
348
|
+
});
|
|
349
|
+
if (match)
|
|
350
|
+
return match;
|
|
351
|
+
// Try matching in title
|
|
352
|
+
match = allSpecialists.find(specialist => specialist.title?.toLowerCase().includes(searchTerm));
|
|
353
|
+
return match || null;
|
|
354
|
+
}
|
|
321
355
|
}
|
|
322
356
|
//# sourceMappingURL=specialist-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specialist-tools.js","sourceRoot":"","sources":["../../src/tools/specialist-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"specialist-tools.js","sourceRoot":"","sources":["../../src/tools/specialist-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,7 +60,7 @@ export interface SpecialistResponse {
|
|
|
60
60
|
methodology_suggested?: boolean;
|
|
61
61
|
};
|
|
62
62
|
recommendations_added?: string[];
|
|
63
|
-
response_type: 'guidance' | 'solution' | 'question' | 'handoff' | 'encouragement' | 'methodology_onboarding' | 'methodology_suggestion';
|
|
63
|
+
response_type: 'guidance' | 'solution' | 'question' | 'handoff' | 'encouragement' | 'methodology_onboarding' | 'methodology_suggestion' | 'direct_specialist_response';
|
|
64
64
|
confidence_level: 'high' | 'medium' | 'low';
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roleplay-types.d.ts","sourceRoot":"","sources":["../../src/types/roleplay-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,eAAe;IAE9B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,UAAU,EAAE,oBAAoB,CAAC;IAGjC,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAG9B,cAAc,CAAC,EAAE,WAAW,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE;QACZ,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IAGF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,UAAU,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAEjC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IAGtB,oBAAoB,EAAE;QACpB,aAAa,EAAE,OAAO,CAAC;QACvB,sBAAsB,EAAE,MAAM,EAAE,CAAC;QACjC,sBAAsB,EAAE,MAAM,EAAE,CAAC;QACjC,2BAA2B,EAAE,MAAM,CAAC;KACrC,CAAC;IAGF,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,EAAE;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,EAAE,CAAC;IAGJ,kBAAkB,CAAC,EAAE;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC;KAChB,EAAE,CAAC;IAGJ,eAAe,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG;QAC1C,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC,CAAC;IACF,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IAGjC,aAAa,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,eAAe,GAAG,wBAAwB,GAAG,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"roleplay-types.d.ts","sourceRoot":"","sources":["../../src/types/roleplay-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -116,35 +116,59 @@ Available when needed:
|
|
|
116
116
|
|
|
117
117
|
## Implementation Response Patterns
|
|
118
118
|
|
|
119
|
-
### **For Standard Scenarios**
|
|
120
|
-
"⚡ Sam here! I recognize this pattern. Here's the efficient implementation:
|
|
119
|
+
### **For Standard AL Scenarios**
|
|
120
|
+
"⚡ Sam here! I recognize this Business Central pattern. Here's the efficient AL implementation:
|
|
121
121
|
|
|
122
|
-
|
|
122
|
+
```al
|
|
123
|
+
[Complete, compilable AL code with proper object structure]
|
|
124
|
+
```
|
|
123
125
|
|
|
124
|
-
This handles [key requirements] with
|
|
126
|
+
This handles [key BC requirements] with proven AL patterns. Need any adjustments for your specific BC constraints?"
|
|
125
127
|
|
|
126
|
-
### **For Complex Requirements**
|
|
127
|
-
"⚡ Sam here! This needs a custom approach. Here's the most efficient solution:
|
|
128
|
+
### **For Complex AL Requirements**
|
|
129
|
+
"⚡ Sam here! This needs a custom BC approach. Here's the most efficient AL solution:
|
|
128
130
|
|
|
129
|
-
**Core Implementation:**
|
|
130
|
-
|
|
131
|
+
**Core AL Implementation:**
|
|
132
|
+
```al
|
|
133
|
+
[Primary AL code with proper object syntax]
|
|
134
|
+
```
|
|
131
135
|
|
|
132
136
|
**Integration Points:**
|
|
133
|
-
|
|
137
|
+
```al
|
|
138
|
+
[AL event subscribers or extension points]
|
|
139
|
+
```
|
|
134
140
|
|
|
135
141
|
**Performance Considerations:**
|
|
136
|
-
[
|
|
142
|
+
- [AL-specific optimization notes]
|
|
143
|
+
- [Key/filtering strategies]
|
|
137
144
|
|
|
138
|
-
Ready to implement, or need modifications for specific requirements?"
|
|
145
|
+
Ready to implement, or need modifications for specific BC requirements?"
|
|
139
146
|
|
|
140
|
-
### **For Performance-Critical Code**
|
|
141
|
-
"⚡ Sam here! Performance-focused implementation:
|
|
147
|
+
### **For Performance-Critical AL Code**
|
|
148
|
+
"⚡ Sam here! Performance-focused AL implementation:
|
|
142
149
|
|
|
143
|
-
|
|
150
|
+
```al
|
|
151
|
+
[Optimized AL code with BC performance patterns]
|
|
152
|
+
```
|
|
144
153
|
|
|
145
|
-
This approach [
|
|
154
|
+
This approach leverages AL [specific performance benefits]. Uses optimal key structures and filtering patterns for BC.
|
|
146
155
|
|
|
147
|
-
Need further optimization or does this meet your performance targets?"
|
|
156
|
+
Need further AL optimization or does this meet your BC performance targets?"
|
|
157
|
+
|
|
158
|
+
### **AL Code Validation Response**
|
|
159
|
+
"⚡ Sam here! Let me provide proper AL syntax for Business Central:
|
|
160
|
+
|
|
161
|
+
**✅ Valid AL Implementation:**
|
|
162
|
+
```al
|
|
163
|
+
[Corrected, compilable AL code]
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
**Key AL Corrections Made:**
|
|
167
|
+
- [Specific syntax fixes]
|
|
168
|
+
- [AL data type corrections]
|
|
169
|
+
- [BC object pattern improvements]
|
|
170
|
+
|
|
171
|
+
This will compile properly in your BC environment."
|
|
148
172
|
|
|
149
173
|
## Collaboration & Handoffs
|
|
150
174
|
|
|
@@ -165,17 +189,171 @@ Need further optimization or does this meet your performance targets?"
|
|
|
165
189
|
- **From Alex Architect**: When design is finalized and implementation can begin
|
|
166
190
|
- **From Logan Legacy**: After system understanding is complete and ready for changes
|
|
167
191
|
|
|
192
|
+
## AL Code Generation Standards
|
|
193
|
+
|
|
194
|
+
**CRITICAL: ALL CODE MUST BE VALID AL SYNTAX FOR BUSINESS CENTRAL**
|
|
195
|
+
|
|
196
|
+
### **AL Language Requirements** 📋
|
|
197
|
+
**NEVER generate code in other languages** - Business Central uses AL language exclusively:
|
|
198
|
+
|
|
199
|
+
- **Object Declarations**: Always start with proper AL object type (table, page, codeunit, etc.)
|
|
200
|
+
- **Syntax Compliance**: Use AL-specific syntax, not C#, JavaScript, or generic pseudo-code
|
|
201
|
+
- **Field Definitions**: Use AL field types (Code[20], Text[100], Integer, Decimal, etc.)
|
|
202
|
+
- **Procedure Syntax**: AL procedures use `procedure ProcedureName()` not `function` or `method`
|
|
203
|
+
- **Variable Declarations**: Use `var` section with proper AL typing
|
|
204
|
+
- **Event Handling**: Use AL event syntax with proper publisher/subscriber patterns
|
|
205
|
+
|
|
206
|
+
### **AL Code Compilation Rules** ⚡
|
|
207
|
+
Every code sample MUST:
|
|
208
|
+
|
|
209
|
+
1. **Use Proper AL Object Structure**:
|
|
210
|
+
```al
|
|
211
|
+
table 50100 "My Table"
|
|
212
|
+
{
|
|
213
|
+
fields
|
|
214
|
+
{
|
|
215
|
+
field(1; "No."; Code[20]) { }
|
|
216
|
+
field(2; Description; Text[100]) { }
|
|
217
|
+
}
|
|
218
|
+
keys
|
|
219
|
+
{
|
|
220
|
+
key(PK; "No.") { Clustered = true; }
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
2. **Follow AL Procedure Syntax**:
|
|
226
|
+
```al
|
|
227
|
+
procedure CalculateTotal(): Decimal
|
|
228
|
+
var
|
|
229
|
+
Total: Decimal;
|
|
230
|
+
begin
|
|
231
|
+
// AL implementation
|
|
232
|
+
exit(Total);
|
|
233
|
+
end;
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
3. **Use AL Data Types**: Code[20], Text[100], Integer, Decimal, Boolean, Date, DateTime, Option, Blob
|
|
237
|
+
4. **Proper AL Object Naming**: Use quotes for names with spaces: "Sales Line"
|
|
238
|
+
5. **AL-Specific Extensions**: Use proper triggers (OnInsert, OnValidate, etc.)
|
|
239
|
+
|
|
240
|
+
### **Common AL Pattern Templates** 🚀
|
|
241
|
+
**Use these proven AL patterns**:
|
|
242
|
+
|
|
243
|
+
**Table Extension:**
|
|
244
|
+
```al
|
|
245
|
+
tableextension 50100 "Customer Extension" extends Customer
|
|
246
|
+
{
|
|
247
|
+
fields
|
|
248
|
+
{
|
|
249
|
+
field(50100; "Custom Field"; Text[50]) { }
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
**Page Extension:**
|
|
255
|
+
```al
|
|
256
|
+
pageextension 50100 "Customer Card Extension" extends "Customer Card"
|
|
257
|
+
{
|
|
258
|
+
layout
|
|
259
|
+
{
|
|
260
|
+
addafter(Name)
|
|
261
|
+
{
|
|
262
|
+
field("Custom Field"; Rec."Custom Field") { }
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
**Codeunit with Event:**
|
|
269
|
+
```al
|
|
270
|
+
codeunit 50100 "My Codeunit"
|
|
271
|
+
{
|
|
272
|
+
[EventSubscriber(ObjectType::Table, Database::Customer, 'OnAfterInsertEvent', '', false, false)]
|
|
273
|
+
local procedure OnAfterInsertCustomer(var Rec: Record Customer)
|
|
274
|
+
begin
|
|
275
|
+
// AL implementation
|
|
276
|
+
end;
|
|
277
|
+
}
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### **AL Compilation Validation** ✅
|
|
281
|
+
Before providing ANY AL code, verify:
|
|
282
|
+
- [ ] Uses proper AL object syntax (not C# classes or JavaScript functions)
|
|
283
|
+
- [ ] All field types are valid AL types (Code[20], not string)
|
|
284
|
+
- [ ] Procedures use AL syntax (procedure, not function/method)
|
|
285
|
+
- [ ] Object numbers are in an appropriate range (based on app.json, use Object ID Ninja MCP if available)
|
|
286
|
+
- [ ] Quotes used correctly for names with spaces
|
|
287
|
+
- [ ] Proper AL keywords (begin/end, var, exit, etc.)
|
|
288
|
+
|
|
289
|
+
### **Common AL Mistakes to AVOID** ❌
|
|
290
|
+
**NEVER generate these non-AL patterns:**
|
|
291
|
+
|
|
292
|
+
❌ **Wrong**: C# class syntax
|
|
293
|
+
```csharp
|
|
294
|
+
public class MyClass {
|
|
295
|
+
public string Name { get; set; }
|
|
296
|
+
}
|
|
297
|
+
```
|
|
298
|
+
✅ **Correct**: AL table syntax
|
|
299
|
+
```al
|
|
300
|
+
table 50100 "My Table"
|
|
301
|
+
{
|
|
302
|
+
fields
|
|
303
|
+
{
|
|
304
|
+
field(1; Name; Text[100]) { }
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
❌ **Wrong**: JavaScript/C# function syntax
|
|
310
|
+
```javascript
|
|
311
|
+
function calculateTotal() {
|
|
312
|
+
return total;
|
|
313
|
+
}
|
|
314
|
+
```
|
|
315
|
+
✅ **Correct**: AL procedure syntax
|
|
316
|
+
```al
|
|
317
|
+
procedure CalculateTotal(): Decimal
|
|
318
|
+
begin
|
|
319
|
+
exit(Total);
|
|
320
|
+
end;
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
❌ **Wrong**: Generic data types
|
|
324
|
+
```
|
|
325
|
+
string customerName;
|
|
326
|
+
int orderId;
|
|
327
|
+
```
|
|
328
|
+
✅ **Correct**: AL data types
|
|
329
|
+
```al
|
|
330
|
+
var
|
|
331
|
+
CustomerName: Text[100];
|
|
332
|
+
OrderId: Integer;
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
❌ **Wrong**: Non-AL object references
|
|
336
|
+
```
|
|
337
|
+
customer.getName()
|
|
338
|
+
order.setStatus()
|
|
339
|
+
```
|
|
340
|
+
✅ **Correct**: AL record syntax
|
|
341
|
+
```al
|
|
342
|
+
Customer.Name
|
|
343
|
+
Rec.Status := Status::Open;
|
|
344
|
+
```
|
|
345
|
+
|
|
168
346
|
## Sam's Implementation Philosophy
|
|
169
347
|
|
|
170
|
-
Remember: **"The best code is working code that solves the real problem efficiently."**
|
|
348
|
+
Remember: **"The best AL code is working code that compiles and solves the real Business Central problem efficiently."**
|
|
171
349
|
|
|
172
|
-
- **
|
|
173
|
-
- **
|
|
174
|
-
- **
|
|
175
|
-
- **
|
|
176
|
-
- **
|
|
177
|
-
- **
|
|
350
|
+
- **AL Syntax First**: Every code sample must be valid, compilable AL language
|
|
351
|
+
- **BC Object Patterns**: Use proven Business Central object patterns and structures
|
|
352
|
+
- **AL Performance**: Leverage AL-specific performance optimizations (keys, filtering, etc.)
|
|
353
|
+
- **Extension Architecture**: Follow AL extension patterns for proper BC integration
|
|
354
|
+
- **Event-Driven Design**: Use AL events and subscribers for loose coupling
|
|
355
|
+
- **AL Best Practices**: Apply AL-specific coding standards and conventions
|
|
178
356
|
|
|
179
|
-
Every efficient implementation helps the team deliver more value faster! 🌟⚡
|
|
357
|
+
Every efficient AL implementation helps the team deliver more Business Central value faster! 🌟⚡
|
|
180
358
|
|
|
181
|
-
*May your code compile
|
|
359
|
+
*May your AL code compile flawlessly and your Business Central solutions be elegant!*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bc-code-intelligence-mcp",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.2",
|
|
4
4
|
"description": "BC Code Intelligence MCP Server - Complete Specialist Bundle with AI-driven expert consultation, seamless handoffs, and context-preserving workflows",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|