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.
- package/dist/cli.js +45 -44
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +330 -302
- package/dist/index.js.map +1 -1
- package/dist/layers/embedded-layer.d.ts +4 -4
- package/dist/layers/embedded-layer.d.ts.map +1 -1
- package/dist/layers/embedded-layer.js +118 -96
- package/dist/layers/embedded-layer.js.map +1 -1
- package/dist/layers/git-layer.d.ts +3 -3
- package/dist/layers/git-layer.d.ts.map +1 -1
- package/dist/layers/git-layer.js +115 -98
- package/dist/layers/git-layer.js.map +1 -1
- package/dist/layers/project-layer.d.ts +2 -2
- package/dist/layers/project-layer.d.ts.map +1 -1
- package/dist/layers/project-layer.js +44 -40
- package/dist/layers/project-layer.js.map +1 -1
- package/dist/sdk/bc-code-intel-client.d.ts +1 -1
- package/dist/sdk/bc-code-intel-client.js +40 -40
- package/dist/tools/ask_bc_expert/handler.d.ts.map +1 -1
- package/dist/tools/ask_bc_expert/handler.js +71 -50
- package/dist/tools/ask_bc_expert/handler.js.map +1 -1
- package/dist/types/bc-knowledge.d.ts +1 -1
- package/dist/types/bc-knowledge.d.ts.map +1 -1
- package/dist/types/bc-knowledge.js +105 -33
- package/dist/types/bc-knowledge.js.map +1 -1
- package/dist/types/config-types.d.ts +9 -9
- package/dist/types/config-types.d.ts.map +1 -1
- package/dist/types/config-types.js +38 -38
- package/dist/types/config-types.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,40 +7,44 @@ export function createAskBcExpertHandler(services) {
|
|
|
7
7
|
const { knowledgeService, workflowService, codeAnalysisService } = services;
|
|
8
8
|
return async (args) => {
|
|
9
9
|
try {
|
|
10
|
-
const { question, context, preferred_specialist, autonomous_mode = false } = args;
|
|
10
|
+
const { question, context, preferred_specialist, autonomous_mode = false, } = args;
|
|
11
11
|
// Validate required parameters
|
|
12
12
|
if (!question) {
|
|
13
13
|
return {
|
|
14
14
|
isError: true,
|
|
15
|
-
error:
|
|
16
|
-
content: [
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
error: "question parameter is required",
|
|
16
|
+
content: [
|
|
17
|
+
{
|
|
18
|
+
type: "text",
|
|
19
|
+
text: "Error: question parameter is required",
|
|
20
|
+
},
|
|
21
|
+
],
|
|
20
22
|
};
|
|
21
23
|
}
|
|
22
24
|
// Auto-detect if this is a "took over app" scenario
|
|
23
|
-
const isOnboardingScenario = /took over|inherited|new to|understand.*app|unfamiliar/i.test(question +
|
|
25
|
+
const isOnboardingScenario = /took over|inherited|new to|understand.*app|unfamiliar/i.test(question + " " + (context || ""));
|
|
24
26
|
if (isOnboardingScenario && !preferred_specialist) {
|
|
25
27
|
// Start onboarding workflow automatically
|
|
26
28
|
const startRequest = {
|
|
27
|
-
workflow_type:
|
|
29
|
+
workflow_type: "onboard-developer",
|
|
28
30
|
project_context: context || question,
|
|
29
|
-
bc_version:
|
|
31
|
+
bc_version: "BC22", // default
|
|
30
32
|
};
|
|
31
33
|
const session = await workflowService.startWorkflow(startRequest);
|
|
32
34
|
const guidance = await workflowService.getPhaseGuidance(session.id);
|
|
33
35
|
return {
|
|
34
|
-
content: [
|
|
35
|
-
|
|
36
|
+
content: [
|
|
37
|
+
{
|
|
38
|
+
type: "text",
|
|
36
39
|
text: JSON.stringify({
|
|
37
|
-
response_type:
|
|
40
|
+
response_type: "workflow_started",
|
|
38
41
|
workflow_id: session.id,
|
|
39
|
-
workflow_type:
|
|
40
|
-
message:
|
|
41
|
-
guidance
|
|
42
|
-
}, null, 2)
|
|
43
|
-
}
|
|
42
|
+
workflow_type: "developer_onboarding",
|
|
43
|
+
message: "I detected this is a new developer onboarding scenario. Starting the systematic onboarding workflow.",
|
|
44
|
+
guidance,
|
|
45
|
+
}, null, 2),
|
|
46
|
+
},
|
|
47
|
+
],
|
|
44
48
|
};
|
|
45
49
|
}
|
|
46
50
|
// Normal specialist consultation
|
|
@@ -48,43 +52,48 @@ export function createAskBcExpertHandler(services) {
|
|
|
48
52
|
// AUTONOMOUS MODE: Return structured action plan
|
|
49
53
|
if (autonomous_mode) {
|
|
50
54
|
// Extract response text - available at top level, not nested in consultation
|
|
51
|
-
const responseText = specialist.response || specialist.consultation?.response ||
|
|
55
|
+
const responseText = specialist.response || specialist.consultation?.response || "";
|
|
52
56
|
const actionPlan = {
|
|
53
|
-
response_type:
|
|
57
|
+
response_type: "autonomous_action_plan",
|
|
54
58
|
specialist: {
|
|
55
59
|
id: specialist.specialist.id,
|
|
56
60
|
name: specialist.specialist.name,
|
|
57
|
-
expertise: specialist.specialist.expertise
|
|
61
|
+
expertise: specialist.specialist.expertise,
|
|
58
62
|
},
|
|
59
63
|
action_plan: {
|
|
60
|
-
primary_action: responseText.split(
|
|
64
|
+
primary_action: responseText.split("\n")[0] || "",
|
|
61
65
|
steps: responseText
|
|
62
|
-
.split(
|
|
66
|
+
.split("\n")
|
|
63
67
|
.filter((line) => /^\d+\.|^-|^•/.test(line.trim()))
|
|
64
68
|
.map((step) => step.trim()),
|
|
65
69
|
required_tools: (specialist.recommended_topics || [])
|
|
66
|
-
.filter((t) => t.domain ===
|
|
70
|
+
.filter((t) => t.domain === "tools" || t.domain === "workflows")
|
|
67
71
|
.map((t) => t.id),
|
|
68
72
|
confidence: specialist.consultation?.confidence || 0.85,
|
|
69
73
|
blocking_issues: specialist.consultation?.blocking_issues || [],
|
|
70
|
-
alternatives: specialist.consultation?.alternatives || []
|
|
74
|
+
alternatives: specialist.consultation?.alternatives || [],
|
|
71
75
|
},
|
|
72
76
|
recommended_topics: specialist.recommended_topics || [],
|
|
73
77
|
next_specialist: specialist.consultation?.hand_off_to || null,
|
|
74
|
-
context: context
|
|
78
|
+
context: context,
|
|
75
79
|
};
|
|
76
80
|
return {
|
|
77
|
-
content: [
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
+
content: [
|
|
82
|
+
{
|
|
83
|
+
type: "text",
|
|
84
|
+
text: JSON.stringify(actionPlan, null, 2),
|
|
85
|
+
},
|
|
86
|
+
],
|
|
81
87
|
};
|
|
82
88
|
}
|
|
83
89
|
// INTERACTIVE MODE: Return full specialist content as agent instructions
|
|
84
|
-
let agentInstructions =
|
|
90
|
+
let agentInstructions = "";
|
|
85
91
|
agentInstructions += `SPECIALIST DEFINITION AND INSTRUCTIONS:\n\n`;
|
|
86
|
-
agentInstructions +=
|
|
87
|
-
|
|
92
|
+
agentInstructions +=
|
|
93
|
+
specialist.specialist_full_content ||
|
|
94
|
+
specialist.consultation_guidance ||
|
|
95
|
+
"";
|
|
96
|
+
agentInstructions += `\n\n${"=".repeat(80)}\n\n`;
|
|
88
97
|
agentInstructions += `USER QUESTION: ${question}\n`;
|
|
89
98
|
if (context) {
|
|
90
99
|
agentInstructions += `CONTEXT: ${context}\n`;
|
|
@@ -92,7 +101,8 @@ export function createAskBcExpertHandler(services) {
|
|
|
92
101
|
agentInstructions += `\n`;
|
|
93
102
|
agentInstructions += `GUIDANCE: ${specialist.response}\n\n`;
|
|
94
103
|
agentInstructions += `CRITICAL: You ARE ${specialist.specialist.name}. Respond directly as this specialist, not as an AI assistant describing what they would say. Use their communication style, expertise, and personality.\n\n`;
|
|
95
|
-
if (specialist.follow_up_suggestions &&
|
|
104
|
+
if (specialist.follow_up_suggestions &&
|
|
105
|
+
specialist.follow_up_suggestions.length > 0) {
|
|
96
106
|
agentInstructions += `HANDOFF OPPORTUNITIES:\n`;
|
|
97
107
|
specialist.follow_up_suggestions.forEach((s) => {
|
|
98
108
|
agentInstructions += `- Consider involving ${s} if needed\n`;
|
|
@@ -104,31 +114,36 @@ export function createAskBcExpertHandler(services) {
|
|
|
104
114
|
try {
|
|
105
115
|
const analysisResult = await codeAnalysisService.analyzeCode({
|
|
106
116
|
code_snippet: context,
|
|
107
|
-
analysis_type:
|
|
108
|
-
suggest_topics: true
|
|
117
|
+
analysis_type: "comprehensive",
|
|
118
|
+
suggest_topics: true,
|
|
109
119
|
});
|
|
110
120
|
// Extract relevant knowledge topics
|
|
111
121
|
const relevanceMatches = codeAnalysisService.getLastRelevanceMatches?.() || [];
|
|
112
|
-
recommendedTopics = relevanceMatches
|
|
122
|
+
recommendedTopics = relevanceMatches
|
|
123
|
+
.slice(0, 5)
|
|
124
|
+
.map((match) => ({
|
|
113
125
|
topic_id: match.topicId,
|
|
114
126
|
title: match.title,
|
|
115
127
|
relevance_score: match.relevanceScore,
|
|
116
128
|
domain: match.domain,
|
|
117
|
-
matched_signals: match.matchedSignals || []
|
|
129
|
+
matched_signals: match.matchedSignals || [],
|
|
118
130
|
}));
|
|
119
131
|
// Also include suggested_topics from analysis if relevance matches are empty
|
|
120
|
-
if (recommendedTopics.length === 0 &&
|
|
121
|
-
|
|
132
|
+
if (recommendedTopics.length === 0 &&
|
|
133
|
+
analysisResult.suggested_topics) {
|
|
134
|
+
recommendedTopics = analysisResult.suggested_topics
|
|
135
|
+
.slice(0, 5)
|
|
136
|
+
.map((topic) => ({
|
|
122
137
|
topic_id: topic.id || topic.topic_id,
|
|
123
138
|
title: topic.title || topic.description,
|
|
124
139
|
relevance_score: topic.relevance_score || 0.7,
|
|
125
|
-
domain: topic.domain || specialist.specialist?.id
|
|
140
|
+
domain: topic.domain || specialist.specialist?.id,
|
|
126
141
|
}));
|
|
127
142
|
}
|
|
128
143
|
}
|
|
129
144
|
catch (analysisError) {
|
|
130
145
|
// Code analysis failed - continue without topics
|
|
131
|
-
console.error(
|
|
146
|
+
console.error("Code analysis for ask_bc_expert failed:", analysisError);
|
|
132
147
|
}
|
|
133
148
|
}
|
|
134
149
|
// Add recommended topics to instructions if found
|
|
@@ -140,20 +155,26 @@ export function createAskBcExpertHandler(services) {
|
|
|
140
155
|
agentInstructions += `\nThese topics are directly relevant to the code context provided. Consider fetching them to inform your response.\n`;
|
|
141
156
|
}
|
|
142
157
|
return {
|
|
143
|
-
content: [
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
158
|
+
content: [
|
|
159
|
+
{
|
|
160
|
+
type: "text",
|
|
161
|
+
text: agentInstructions,
|
|
162
|
+
},
|
|
163
|
+
],
|
|
147
164
|
};
|
|
148
165
|
}
|
|
149
166
|
catch (error) {
|
|
150
167
|
return {
|
|
151
168
|
isError: true,
|
|
152
|
-
error:
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
169
|
+
error: error && error.message
|
|
170
|
+
? error.message
|
|
171
|
+
: "Service error occurred",
|
|
172
|
+
content: [
|
|
173
|
+
{
|
|
174
|
+
type: "text",
|
|
175
|
+
text: `Error: ${error && error.message ? error.message : "Service error occurred"}`,
|
|
176
|
+
},
|
|
177
|
+
],
|
|
157
178
|
};
|
|
158
179
|
}
|
|
159
180
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/tools/ask_bc_expert/handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,UAAU,wBAAwB,CAAC,QAAa;IACpD,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,EAAE,GAAG,QAAQ,CAAC;IAE5E,OAAO,KAAK,EAAE,IAAS,EAAE,EAAE;QACzB,IAAI,CAAC;YACH,MAAM,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/tools/ask_bc_expert/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bc-knowledge.d.ts","sourceRoot":"","sources":["../../src/types/bc-knowledge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AAGH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"bc-knowledge.d.ts","sourceRoot":"","sources":["../../src/types/bc-knowledge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { z } from
|
|
1
|
+
import { z } from "zod";
|
|
2
2
|
/**
|
|
3
3
|
* Business Central Knowledge Base Types
|
|
4
4
|
*
|
|
@@ -6,51 +6,123 @@ import { z } from 'zod';
|
|
|
6
6
|
* indexes, and relationships for intelligent AI consumption.
|
|
7
7
|
*/
|
|
8
8
|
// Relevance signals schema for knowledge-driven detection
|
|
9
|
-
export const RelevanceSignalsSchema = z
|
|
9
|
+
export const RelevanceSignalsSchema = z
|
|
10
|
+
.object({
|
|
10
11
|
// AL language constructs that indicate this topic may be relevant
|
|
11
|
-
constructs: z
|
|
12
|
+
constructs: z
|
|
13
|
+
.array(z.string())
|
|
14
|
+
.optional()
|
|
15
|
+
.describe("AL constructs that trigger this topic (e.g., 'FindSet', 'CalcFields')"),
|
|
12
16
|
// General keywords to match against code or context
|
|
13
|
-
keywords: z
|
|
17
|
+
keywords: z
|
|
18
|
+
.array(z.string())
|
|
19
|
+
.optional()
|
|
20
|
+
.describe("Keywords for text matching"),
|
|
14
21
|
// Phrases indicating an anti-pattern is present
|
|
15
|
-
anti_pattern_indicators: z
|
|
22
|
+
anti_pattern_indicators: z
|
|
23
|
+
.array(z.string())
|
|
24
|
+
.optional()
|
|
25
|
+
.describe("Phrases indicating bad patterns"),
|
|
16
26
|
// Phrases indicating a good pattern is present
|
|
17
|
-
positive_pattern_indicators: z
|
|
18
|
-
|
|
27
|
+
positive_pattern_indicators: z
|
|
28
|
+
.array(z.string())
|
|
29
|
+
.optional()
|
|
30
|
+
.describe("Phrases indicating good patterns"),
|
|
31
|
+
})
|
|
32
|
+
.describe("Relevance detection signals - how to identify when this knowledge applies");
|
|
19
33
|
// YAML Frontmatter Schema - Extended for structured knowledge types
|
|
20
|
-
export const AtomicTopicFrontmatterSchema = z
|
|
34
|
+
export const AtomicTopicFrontmatterSchema = z
|
|
35
|
+
.object({
|
|
21
36
|
title: z.string().optional().describe("Human-readable topic title"),
|
|
22
|
-
domain: z
|
|
23
|
-
z.string(),
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
difficulty: z
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
37
|
+
domain: z
|
|
38
|
+
.union([z.string(), z.array(z.string())])
|
|
39
|
+
.optional()
|
|
40
|
+
.describe("Knowledge domain(s) - single domain or array for shared topics"),
|
|
41
|
+
difficulty: z
|
|
42
|
+
.enum(["beginner", "intermediate", "advanced", "expert"])
|
|
43
|
+
.optional()
|
|
44
|
+
.describe("Complexity level"),
|
|
45
|
+
bc_versions: z
|
|
46
|
+
.string()
|
|
47
|
+
.optional()
|
|
48
|
+
.describe("BC version compatibility. Syntax: 'x..' (min), 'x..y' or 'x-y' (range), '..y' (max), 'x->y' (migration), 'x,y,z' (discrete), 'x+' (legacy min)"),
|
|
49
|
+
tags: z
|
|
50
|
+
.array(z.string())
|
|
51
|
+
.optional()
|
|
52
|
+
.describe("Searchable tags for topic discovery"),
|
|
53
|
+
prerequisites: z
|
|
54
|
+
.array(z.string())
|
|
55
|
+
.optional()
|
|
56
|
+
.describe("Required prerequisite topics"),
|
|
57
|
+
related_topics: z
|
|
58
|
+
.array(z.string())
|
|
59
|
+
.optional()
|
|
60
|
+
.describe("Related and complementary topics"),
|
|
31
61
|
samples: z.string().optional().describe("Path to companion sample file"),
|
|
32
|
-
estimated_time: z
|
|
62
|
+
estimated_time: z
|
|
63
|
+
.string()
|
|
64
|
+
.optional()
|
|
65
|
+
.describe("Time to read/implement (e.g., '15 minutes')"),
|
|
33
66
|
// Extended properties for structured knowledge types
|
|
34
|
-
type: z
|
|
67
|
+
type: z
|
|
68
|
+
.string()
|
|
69
|
+
.optional()
|
|
70
|
+
.describe("Knowledge type (code-pattern, workflow, etc.)"),
|
|
35
71
|
name: z.string().optional().describe("Unique name for structured types"),
|
|
36
|
-
pattern_type: z
|
|
37
|
-
|
|
38
|
-
|
|
72
|
+
pattern_type: z
|
|
73
|
+
.enum(["good", "bad", "unknown"])
|
|
74
|
+
.optional()
|
|
75
|
+
.describe("Pattern classification"),
|
|
76
|
+
regex_patterns: z
|
|
77
|
+
.array(z.string())
|
|
78
|
+
.optional()
|
|
79
|
+
.describe("Regex patterns for code detection"),
|
|
80
|
+
description: z
|
|
81
|
+
.string()
|
|
82
|
+
.optional()
|
|
83
|
+
.describe("Brief description for structured types"),
|
|
39
84
|
category: z.string().optional().describe("Category classification"),
|
|
40
|
-
severity: z
|
|
41
|
-
|
|
42
|
-
|
|
85
|
+
severity: z
|
|
86
|
+
.enum(["low", "medium", "high", "critical"])
|
|
87
|
+
.optional()
|
|
88
|
+
.describe("Severity level"),
|
|
89
|
+
impact_level: z
|
|
90
|
+
.enum(["low", "medium", "high"])
|
|
91
|
+
.optional()
|
|
92
|
+
.describe("Impact level"),
|
|
93
|
+
detection_confidence: z
|
|
94
|
+
.enum(["low", "medium", "high"])
|
|
95
|
+
.optional()
|
|
96
|
+
.describe("Detection confidence"),
|
|
43
97
|
// Workflow-specific properties
|
|
44
|
-
workflow_type: z
|
|
98
|
+
workflow_type: z
|
|
99
|
+
.string()
|
|
100
|
+
.optional()
|
|
101
|
+
.describe("Type of workflow (checklist, procedure, etc.)"),
|
|
45
102
|
phases: z.array(z.any()).optional().describe("Workflow phases"),
|
|
46
103
|
// Conditional MCP integration
|
|
47
|
-
conditional_mcp: z
|
|
48
|
-
|
|
104
|
+
conditional_mcp: z
|
|
105
|
+
.string()
|
|
106
|
+
.optional()
|
|
107
|
+
.describe("MCP server ID required for this topic (show only if MCP present)"),
|
|
108
|
+
conditional_mcp_missing: z
|
|
109
|
+
.string()
|
|
110
|
+
.optional()
|
|
111
|
+
.describe("MCP server ID that excludes this topic (show only if MCP absent)"),
|
|
49
112
|
// V2: Relevance-based detection fields
|
|
50
113
|
relevance_signals: RelevanceSignalsSchema.optional().describe("Signals for knowledge-driven detection"),
|
|
51
|
-
applicable_object_types: z
|
|
52
|
-
|
|
53
|
-
|
|
114
|
+
applicable_object_types: z
|
|
115
|
+
.array(z.string())
|
|
116
|
+
.optional()
|
|
117
|
+
.describe("AL object types this knowledge applies to (e.g., 'codeunit', 'page')"),
|
|
118
|
+
relevance_threshold: z
|
|
119
|
+
.number()
|
|
120
|
+
.min(0)
|
|
121
|
+
.max(1)
|
|
122
|
+
.optional()
|
|
123
|
+
.describe("Minimum relevance score (0.0-1.0) to surface this topic"),
|
|
124
|
+
})
|
|
125
|
+
.passthrough();
|
|
54
126
|
// Domain Catalog Structure
|
|
55
127
|
export const DomainInfoSchema = z.object({
|
|
56
128
|
title: z.string(),
|
|
@@ -66,7 +138,7 @@ export const DomainInfoSchema = z.object({
|
|
|
66
138
|
export function isDomainMatch(topicDomain, targetDomain) {
|
|
67
139
|
if (!topicDomain)
|
|
68
140
|
return false;
|
|
69
|
-
if (typeof topicDomain ===
|
|
141
|
+
if (typeof topicDomain === "string") {
|
|
70
142
|
return topicDomain === targetDomain;
|
|
71
143
|
}
|
|
72
144
|
if (Array.isArray(topicDomain)) {
|
|
@@ -77,7 +149,7 @@ export function isDomainMatch(topicDomain, targetDomain) {
|
|
|
77
149
|
export function getDomainList(domain) {
|
|
78
150
|
if (!domain)
|
|
79
151
|
return [];
|
|
80
|
-
if (typeof domain ===
|
|
152
|
+
if (typeof domain === "string")
|
|
81
153
|
return [domain];
|
|
82
154
|
return domain;
|
|
83
155
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bc-knowledge.js","sourceRoot":"","sources":["../../src/types/bc-knowledge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AAEH,0DAA0D;AAC1D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"bc-knowledge.js","sourceRoot":"","sources":["../../src/types/bc-knowledge.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Configuration system types for BC Code Intelligence MCP server
|
|
3
3
|
* Supports multi-source configuration with layer-based knowledge management
|
|
4
4
|
*/
|
|
5
|
-
import { SessionStorageConfig } from
|
|
5
|
+
import { SessionStorageConfig } from "./session-types.js";
|
|
6
6
|
export interface BCCodeIntelConfiguration {
|
|
7
7
|
layers: LayerConfiguration[];
|
|
8
8
|
resolution: ResolutionSettings;
|
|
@@ -80,13 +80,13 @@ export interface AuthConfiguration {
|
|
|
80
80
|
client_secret?: string;
|
|
81
81
|
}
|
|
82
82
|
export interface ResolutionSettings {
|
|
83
|
-
strategy:
|
|
84
|
-
conflict_resolution:
|
|
83
|
+
strategy: "first_match" | "best_match" | "merge_all";
|
|
84
|
+
conflict_resolution: "priority_wins" | "user_choice" | "merge_smart";
|
|
85
85
|
enable_fallback: boolean;
|
|
86
86
|
fallback_to_embedded: boolean;
|
|
87
87
|
}
|
|
88
88
|
export interface CacheSettings {
|
|
89
|
-
strategy:
|
|
89
|
+
strategy: "none" | "minimal" | "moderate" | "aggressive";
|
|
90
90
|
ttl: CacheTTLSettings;
|
|
91
91
|
max_size_mb: number;
|
|
92
92
|
clear_on_startup: boolean;
|
|
@@ -118,16 +118,16 @@ export interface PerformanceSettings {
|
|
|
118
118
|
export interface DeveloperSettings {
|
|
119
119
|
debug_layers: boolean;
|
|
120
120
|
hot_reload: boolean;
|
|
121
|
-
log_level:
|
|
121
|
+
log_level: "error" | "warn" | "info" | "debug";
|
|
122
122
|
profile_performance: boolean;
|
|
123
123
|
validate_on_startup: boolean;
|
|
124
124
|
export_config_schema: boolean;
|
|
125
125
|
enable_diagnostic_tools: boolean;
|
|
126
126
|
}
|
|
127
127
|
export interface ConfigurationSource {
|
|
128
|
-
type:
|
|
128
|
+
type: "file" | "environment" | "default";
|
|
129
129
|
path?: string;
|
|
130
|
-
format?:
|
|
130
|
+
format?: "json" | "yaml";
|
|
131
131
|
priority: number;
|
|
132
132
|
}
|
|
133
133
|
export interface ConfigurationLoadResult {
|
|
@@ -137,7 +137,7 @@ export interface ConfigurationLoadResult {
|
|
|
137
137
|
validation_errors: ValidationError[];
|
|
138
138
|
}
|
|
139
139
|
export interface ConfigurationWarning {
|
|
140
|
-
type:
|
|
140
|
+
type: "deprecated" | "invalid_value" | "missing_optional" | "security";
|
|
141
141
|
message: string;
|
|
142
142
|
source?: string;
|
|
143
143
|
suggestion?: string;
|
|
@@ -183,5 +183,5 @@ export declare const ENV_VAR_MAPPINGS: {
|
|
|
183
183
|
readonly BC_CODE_INTEL_COMPANY_KNOWLEDGE_TOKEN: "layers[company].auth.token";
|
|
184
184
|
readonly BC_CODE_INTEL_COMPANY_KNOWLEDGE_BRANCH: "layers[company].source.branch";
|
|
185
185
|
};
|
|
186
|
-
export type ConfigurationPath = typeof ENV_VAR_MAPPINGS[keyof typeof ENV_VAR_MAPPINGS];
|
|
186
|
+
export type ConfigurationPath = (typeof ENV_VAR_MAPPINGS)[keyof typeof ENV_VAR_MAPPINGS];
|
|
187
187
|
//# sourceMappingURL=config-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-types.d.ts","sourceRoot":"","sources":["../../src/types/config-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,WAAW,EAAE,mBAAmB,CAAC;IACjC,SAAS,EAAE,iBAAiB,CAAC;IAG7B,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B;AAED,oBAAY,eAAe;IACzB,QAAQ,aAAa,
|
|
1
|
+
{"version":3,"file":"config-types.d.ts","sourceRoot":"","sources":["../../src/types/config-types.ts"],"names":[],"mappings":"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"}
|