@vfarcic/dot-ai 0.189.0 ā 0.190.0
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/core/agent-display.d.ts +28 -0
- package/dist/core/agent-display.d.ts.map +1 -0
- package/dist/core/agent-display.js +34 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +3 -1
- package/dist/tools/generate-manifests.d.ts.map +1 -1
- package/dist/tools/generate-manifests.js +21 -42
- package/dist/tools/operate.d.ts.map +1 -1
- package/dist/tools/operate.js +17 -19
- package/dist/tools/organizational-data.d.ts.map +1 -1
- package/dist/tools/organizational-data.js +16 -13
- package/dist/tools/project-setup.js +14 -11
- package/dist/tools/recommend.d.ts.map +1 -1
- package/dist/tools/recommend.js +11 -12
- package/dist/tools/remediate.d.ts.map +1 -1
- package/dist/tools/remediate.js +51 -49
- package/dist/tools/version.d.ts +0 -1
- package/dist/tools/version.d.ts.map +1 -1
- package/dist/tools/version.js +10 -27
- package/package.json +1 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Display Utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides utilities for building agent instruction content blocks
|
|
5
|
+
* that ensure important information (visualization URLs, feedback messages)
|
|
6
|
+
* is displayed to users by AI agents.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Options for building agent display instructions
|
|
10
|
+
*/
|
|
11
|
+
export interface AgentDisplayOptions {
|
|
12
|
+
/** Visualization URL to display (optional) */
|
|
13
|
+
visualizationUrl?: string;
|
|
14
|
+
/** Feedback message to display (optional) */
|
|
15
|
+
feedbackMessage?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Build an agent instruction content block that tells AI agents to display
|
|
19
|
+
* specific fields from the JSON response to the user.
|
|
20
|
+
*
|
|
21
|
+
* @param options - The display options containing visualization URL and/or feedback message
|
|
22
|
+
* @returns A content block with agent instructions, or null if nothing to display
|
|
23
|
+
*/
|
|
24
|
+
export declare function buildAgentDisplayBlock(options: AgentDisplayOptions): {
|
|
25
|
+
type: 'text';
|
|
26
|
+
text: string;
|
|
27
|
+
} | null;
|
|
28
|
+
//# sourceMappingURL=agent-display.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-display.d.ts","sourceRoot":"","sources":["../../src/core/agent-display.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,mBAAmB,GAC3B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAqBvC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Agent Display Utilities
|
|
4
|
+
*
|
|
5
|
+
* Provides utilities for building agent instruction content blocks
|
|
6
|
+
* that ensure important information (visualization URLs, feedback messages)
|
|
7
|
+
* is displayed to users by AI agents.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.buildAgentDisplayBlock = buildAgentDisplayBlock;
|
|
11
|
+
/**
|
|
12
|
+
* Build an agent instruction content block that tells AI agents to display
|
|
13
|
+
* specific fields from the JSON response to the user.
|
|
14
|
+
*
|
|
15
|
+
* @param options - The display options containing visualization URL and/or feedback message
|
|
16
|
+
* @returns A content block with agent instructions, or null if nothing to display
|
|
17
|
+
*/
|
|
18
|
+
function buildAgentDisplayBlock(options) {
|
|
19
|
+
const fields = [];
|
|
20
|
+
if (options.visualizationUrl) {
|
|
21
|
+
fields.push('visualizationUrl');
|
|
22
|
+
}
|
|
23
|
+
if (options.feedbackMessage) {
|
|
24
|
+
fields.push('feedbackMessage');
|
|
25
|
+
}
|
|
26
|
+
if (fields.length === 0) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
const fieldList = fields.join(' and ');
|
|
30
|
+
return {
|
|
31
|
+
type: 'text',
|
|
32
|
+
text: `IMPORTANT: After presenting the main response data, also display the ${fieldList} field${fields.length > 1 ? 's' : ''} to the user.`
|
|
33
|
+
};
|
|
34
|
+
}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -53,5 +53,6 @@ export { PolicyVectorService, PolicySearchOptions, PolicySearchResult } from './
|
|
|
53
53
|
export { CapabilityVectorService, ResourceCapability, CapabilitySearchOptions } from './capability-vector-service';
|
|
54
54
|
export { EmbeddingService, EmbeddingConfig, EmbeddingProvider, VercelEmbeddingProvider } from './embedding-service';
|
|
55
55
|
export { FeedbackConfig, loadFeedbackConfig, shouldShowFeedback, getFeedbackMessage, maybeGetFeedbackMessage } from './feedback';
|
|
56
|
+
export { AgentDisplayOptions, buildAgentDisplayBlock } from './agent-display';
|
|
56
57
|
export default DotAI;
|
|
57
58
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Shared intelligence for both CLI and MCP interfaces
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.maybeGetFeedbackMessage = exports.getFeedbackMessage = exports.shouldShowFeedback = exports.loadFeedbackConfig = exports.VercelEmbeddingProvider = exports.EmbeddingService = exports.CapabilityVectorService = exports.PolicyVectorService = exports.PatternVectorService = exports.BaseVectorService = exports.VectorDBService = exports.deserializePattern = exports.serializePattern = exports.createPattern = exports.validatePattern = exports.ResourceRecommender = exports.ManifestValidator = exports.SchemaParser = exports.AIProviderFactory = exports.createAIProvider = exports.WorkflowEngine = exports.MemorySystem = exports.KubernetesDiscovery = exports.DotAI = void 0;
|
|
8
|
+
exports.buildAgentDisplayBlock = exports.maybeGetFeedbackMessage = exports.getFeedbackMessage = exports.shouldShowFeedback = exports.loadFeedbackConfig = exports.VercelEmbeddingProvider = exports.EmbeddingService = exports.CapabilityVectorService = exports.PolicyVectorService = exports.PatternVectorService = exports.BaseVectorService = exports.VectorDBService = exports.deserializePattern = exports.serializePattern = exports.createPattern = exports.validatePattern = exports.ResourceRecommender = exports.ManifestValidator = exports.SchemaParser = exports.AIProviderFactory = exports.createAIProvider = exports.WorkflowEngine = exports.MemorySystem = exports.KubernetesDiscovery = exports.DotAI = void 0;
|
|
9
9
|
const discovery_1 = require("./discovery");
|
|
10
10
|
const memory_1 = require("./memory");
|
|
11
11
|
const workflow_1 = require("./workflow");
|
|
@@ -156,5 +156,7 @@ Object.defineProperty(exports, "loadFeedbackConfig", { enumerable: true, get: fu
|
|
|
156
156
|
Object.defineProperty(exports, "shouldShowFeedback", { enumerable: true, get: function () { return feedback_1.shouldShowFeedback; } });
|
|
157
157
|
Object.defineProperty(exports, "getFeedbackMessage", { enumerable: true, get: function () { return feedback_1.getFeedbackMessage; } });
|
|
158
158
|
Object.defineProperty(exports, "maybeGetFeedbackMessage", { enumerable: true, get: function () { return feedback_1.maybeGetFeedbackMessage; } });
|
|
159
|
+
var agent_display_1 = require("./agent-display");
|
|
160
|
+
Object.defineProperty(exports, "buildAgentDisplayBlock", { enumerable: true, get: function () { return agent_display_1.buildAgentDisplayBlock; } });
|
|
159
161
|
// Default export
|
|
160
162
|
exports.default = DotAI;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-manifests.d.ts","sourceRoot":"","sources":["../../src/tools/generate-manifests.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"generate-manifests.d.ts","sourceRoot":"","sources":["../../src/tools/generate-manifests.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,KAAK,EAAmD,MAAM,eAAe,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AA0BhD,eAAO,MAAM,2BAA2B,sBAAsB,CAAC;AAC/D,eAAO,MAAM,kCAAkC,+IAA+I,CAAC;AAG/L,eAAO,MAAM,mCAAmC;;;CAG/C,CAAC;AAsvBF;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,EACrD,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,CAAC,CAoUxD"}
|
|
@@ -426,25 +426,18 @@ async function handleHelmGeneration(solution, solutionId, dotAI, logger, request
|
|
|
426
426
|
namespace: namespace,
|
|
427
427
|
validationAttempts: attempt,
|
|
428
428
|
timestamp: new Date().toISOString(),
|
|
429
|
-
...(visualizationUrl
|
|
429
|
+
...(visualizationUrl ? { visualizationUrl } : {}),
|
|
430
|
+
...(feedbackMessage ? { feedbackMessage } : {})
|
|
430
431
|
};
|
|
431
|
-
//
|
|
432
|
+
// Build content blocks - JSON for REST API, agent instruction for MCP agents
|
|
432
433
|
const content = [{
|
|
433
434
|
type: 'text',
|
|
434
435
|
text: JSON.stringify(response, null, 2)
|
|
435
436
|
}];
|
|
436
|
-
if
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
});
|
|
441
|
-
}
|
|
442
|
-
// PRD #326: Add feedback message as separate content block so agents display it to users
|
|
443
|
-
if (feedbackMessage) {
|
|
444
|
-
content.push({
|
|
445
|
-
type: 'text',
|
|
446
|
-
text: feedbackMessage
|
|
447
|
-
});
|
|
437
|
+
// Add agent instruction block if visualization URL or feedback message is present
|
|
438
|
+
const agentDisplayBlock = (0, index_1.buildAgentDisplayBlock)({ visualizationUrl, feedbackMessage });
|
|
439
|
+
if (agentDisplayBlock) {
|
|
440
|
+
content.push(agentDisplayBlock);
|
|
448
441
|
}
|
|
449
442
|
return { content };
|
|
450
443
|
}
|
|
@@ -791,25 +784,18 @@ async function handleGenerateManifestsTool(args, dotAI, logger, requestId) {
|
|
|
791
784
|
packagingAttempts: packagingResult.attempts,
|
|
792
785
|
timestamp: new Date().toISOString(),
|
|
793
786
|
agentInstructions: `Write the files to "${outputPath}". The output is a ${outputFormat === 'helm' ? 'Helm chart' : 'Kustomize overlay'}. If immediate deployment is desired, call the recommend tool with stage: "deployManifests".`,
|
|
794
|
-
...(visualizationUrl
|
|
787
|
+
...(visualizationUrl ? { visualizationUrl } : {}),
|
|
788
|
+
...(feedbackMessage ? { feedbackMessage } : {})
|
|
795
789
|
};
|
|
796
|
-
//
|
|
790
|
+
// Build content blocks - JSON for REST API, agent instruction for MCP agents
|
|
797
791
|
const content = [{
|
|
798
792
|
type: 'text',
|
|
799
793
|
text: JSON.stringify(response, null, 2)
|
|
800
794
|
}];
|
|
801
|
-
if
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
});
|
|
806
|
-
}
|
|
807
|
-
// PRD #326: Add feedback message as separate content block so agents display it to users
|
|
808
|
-
if (feedbackMessage) {
|
|
809
|
-
content.push({
|
|
810
|
-
type: 'text',
|
|
811
|
-
text: feedbackMessage
|
|
812
|
-
});
|
|
795
|
+
// Add agent instruction block if visualization URL or feedback message is present
|
|
796
|
+
const agentDisplayBlock = (0, index_1.buildAgentDisplayBlock)({ visualizationUrl, feedbackMessage });
|
|
797
|
+
if (agentDisplayBlock) {
|
|
798
|
+
content.push(agentDisplayBlock);
|
|
813
799
|
}
|
|
814
800
|
return { content };
|
|
815
801
|
}
|
|
@@ -839,25 +825,18 @@ async function handleGenerateManifestsTool(args, dotAI, logger, requestId) {
|
|
|
839
825
|
validationAttempts: attempt,
|
|
840
826
|
timestamp: new Date().toISOString(),
|
|
841
827
|
agentInstructions: `Write the files to "${outputPath}". If immediate deployment is desired, call the recommend tool with stage: "deployManifests".`,
|
|
842
|
-
...(visualizationUrl
|
|
828
|
+
...(visualizationUrl ? { visualizationUrl } : {}),
|
|
829
|
+
...(feedbackMessage ? { feedbackMessage } : {})
|
|
843
830
|
};
|
|
844
|
-
//
|
|
831
|
+
// Build content blocks - JSON for REST API, agent instruction for MCP agents
|
|
845
832
|
const content = [{
|
|
846
833
|
type: 'text',
|
|
847
834
|
text: JSON.stringify(response, null, 2)
|
|
848
835
|
}];
|
|
849
|
-
if
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
});
|
|
854
|
-
}
|
|
855
|
-
// PRD #326: Add feedback message as separate content block so agents display it to users
|
|
856
|
-
if (feedbackMessage) {
|
|
857
|
-
content.push({
|
|
858
|
-
type: 'text',
|
|
859
|
-
text: feedbackMessage
|
|
860
|
-
});
|
|
836
|
+
// Add agent instruction block if visualization URL or feedback message is present
|
|
837
|
+
const agentDisplayBlock = (0, index_1.buildAgentDisplayBlock)({ visualizationUrl, feedbackMessage });
|
|
838
|
+
if (agentDisplayBlock) {
|
|
839
|
+
content.push(agentDisplayBlock);
|
|
861
840
|
}
|
|
862
841
|
return { content };
|
|
863
842
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operate.d.ts","sourceRoot":"","sources":["../../src/tools/operate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"operate.d.ts","sourceRoot":"","sources":["../../src/tools/operate.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/operate.js
CHANGED
|
@@ -49,7 +49,7 @@ const generic_session_manager_1 = require("../core/generic-session-manager");
|
|
|
49
49
|
const pattern_vector_service_1 = require("../core/pattern-vector-service");
|
|
50
50
|
const policy_vector_service_1 = require("../core/policy-vector-service");
|
|
51
51
|
const capability_vector_service_1 = require("../core/capability-vector-service");
|
|
52
|
-
const
|
|
52
|
+
const index_1 = require("../core/index");
|
|
53
53
|
// Tool metadata for direct MCP registration
|
|
54
54
|
exports.OPERATE_TOOL_NAME = 'operate';
|
|
55
55
|
exports.OPERATE_TOOL_DESCRIPTION = 'AI-powered Kubernetes application operations tool for Day 2 operations. Handles updates, scaling, enhancements, rollbacks, and deletions through natural language intents. Analyzes current state, applies organizational patterns and policies, validates changes via dry-run, and executes approved operations safely.';
|
|
@@ -229,27 +229,25 @@ async function operate(args) {
|
|
|
229
229
|
*/
|
|
230
230
|
async function handleOperateTool(args) {
|
|
231
231
|
const result = await operate(args);
|
|
232
|
-
//
|
|
233
|
-
const
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
232
|
+
// Get feedback message for successful operations
|
|
233
|
+
const feedbackMessage = result.status === 'success' ? (0, index_1.maybeGetFeedbackMessage)() : '';
|
|
234
|
+
// Build response with visualization URL and feedback message in JSON
|
|
235
|
+
const responseData = {
|
|
236
|
+
...result,
|
|
237
|
+
...(feedbackMessage ? { feedbackMessage } : {})
|
|
238
|
+
};
|
|
239
|
+
// Build content blocks - JSON for REST API, agent instruction for MCP agents
|
|
237
240
|
const content = [{
|
|
238
241
|
type: 'text',
|
|
239
|
-
text: JSON.stringify(
|
|
240
|
-
...result,
|
|
241
|
-
message: messageWithVisualization
|
|
242
|
-
}, null, 2)
|
|
242
|
+
text: JSON.stringify(responseData, null, 2)
|
|
243
243
|
}];
|
|
244
|
-
//
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
});
|
|
252
|
-
}
|
|
244
|
+
// Add agent instruction block if visualization URL or feedback message is present
|
|
245
|
+
const agentDisplayBlock = (0, index_1.buildAgentDisplayBlock)({
|
|
246
|
+
visualizationUrl: result.visualizationUrl,
|
|
247
|
+
feedbackMessage
|
|
248
|
+
});
|
|
249
|
+
if (agentDisplayBlock) {
|
|
250
|
+
content.push(agentDisplayBlock);
|
|
253
251
|
}
|
|
254
252
|
return { content };
|
|
255
253
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organizational-data.d.ts","sourceRoot":"","sources":["../../src/tools/organizational-data.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAgBhD,eAAO,MAAM,6BAA6B,kBAAkB,CAAC;AAC7D,eAAO,MAAM,oCAAoC,+jBAAyjB,CAAC;AAG3mB,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BjD,CAAC;AA0sBF;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,KAAK,GAAG,IAAI,EACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"organizational-data.d.ts","sourceRoot":"","sources":["../../src/tools/organizational-data.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAgBhD,eAAO,MAAM,6BAA6B,kBAAkB,CAAC;AAC7D,eAAO,MAAM,oCAAoC,+jBAAyjB,CAAC;AAG3mB,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BjD,CAAC;AA0sBF;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,KAAK,GAAG,IAAI,EACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC,CA2Id"}
|
|
@@ -58,7 +58,7 @@ const capability_scan_workflow_1 = require("../core/capability-scan-workflow");
|
|
|
58
58
|
const crypto_1 = require("crypto");
|
|
59
59
|
const fs = __importStar(require("fs"));
|
|
60
60
|
const path = __importStar(require("path"));
|
|
61
|
-
const
|
|
61
|
+
const index_2 = require("../core/index");
|
|
62
62
|
// Tool metadata for MCP registration
|
|
63
63
|
exports.ORGANIZATIONAL_DATA_TOOL_NAME = 'manageOrgData';
|
|
64
64
|
exports.ORGANIZATIONAL_DATA_TOOL_DESCRIPTION = 'Unified tool for managing cluster data: organizational patterns, policy intents, and resource capabilities. For patterns and policies: supports create, list, get, delete, deleteAll, and search operations (patterns also support step-by-step creation workflow). For capabilities: supports scan, list, get, delete, deleteAll, and progress operations for cluster resource capability discovery and management. Use dataType parameter to specify what to manage: "pattern" for organizational patterns, "policy" for policy intents, "capabilities" for resource capabilities.';
|
|
@@ -684,21 +684,24 @@ async function handleOrganizationalDataTool(args, _dotAI, logger, requestId) {
|
|
|
684
684
|
operation: args.operation,
|
|
685
685
|
success: result.success
|
|
686
686
|
});
|
|
687
|
-
//
|
|
687
|
+
// Get feedback message when pattern/policy creation workflow is complete and successful
|
|
688
|
+
const feedbackMessage = (result.success && result.operation === 'create' && result.storage?.stored === true)
|
|
689
|
+
? (0, index_2.maybeGetFeedbackMessage)()
|
|
690
|
+
: '';
|
|
691
|
+
// Build response with optional feedback message in JSON
|
|
692
|
+
const responseData = {
|
|
693
|
+
...result,
|
|
694
|
+
...(feedbackMessage ? { feedbackMessage } : {})
|
|
695
|
+
};
|
|
696
|
+
// Build content blocks - JSON for REST API, agent instruction for MCP agents
|
|
688
697
|
const content = [{
|
|
689
698
|
type: 'text',
|
|
690
|
-
text: JSON.stringify(
|
|
699
|
+
text: JSON.stringify(responseData, null, 2)
|
|
691
700
|
}];
|
|
692
|
-
//
|
|
693
|
-
|
|
694
|
-
if (
|
|
695
|
-
|
|
696
|
-
if (feedbackMessage) {
|
|
697
|
-
content.push({
|
|
698
|
-
type: 'text',
|
|
699
|
-
text: feedbackMessage
|
|
700
|
-
});
|
|
701
|
-
}
|
|
701
|
+
// Add agent instruction block if feedback message is present
|
|
702
|
+
const agentDisplayBlock = (0, index_2.buildAgentDisplayBlock)({ feedbackMessage });
|
|
703
|
+
if (agentDisplayBlock) {
|
|
704
|
+
content.push(agentDisplayBlock);
|
|
702
705
|
}
|
|
703
706
|
return { content };
|
|
704
707
|
}
|
|
@@ -11,7 +11,7 @@ const discovery_1 = require("./project-setup/discovery");
|
|
|
11
11
|
const report_scan_1 = require("./project-setup/report-scan");
|
|
12
12
|
const generate_scope_1 = require("./project-setup/generate-scope");
|
|
13
13
|
const crypto_1 = require("crypto");
|
|
14
|
-
const
|
|
14
|
+
const index_1 = require("../core/index");
|
|
15
15
|
// Tool metadata for MCP registration
|
|
16
16
|
exports.PROJECT_SETUP_TOOL_NAME = 'projectSetup';
|
|
17
17
|
exports.PROJECT_SETUP_TOOL_DESCRIPTION = 'Setup project, audit repository, or generate repository files. Use this when user wants to: setup project, audit repo, check missing files, create README, add LICENSE, generate CONTRIBUTING.md, add CI/CD workflows, initialize documentation, setup governance files. Analyzes local repositories and generates missing configuration, documentation, and governance files. Does NOT handle Kubernetes deployments - use recommend for those.';
|
|
@@ -115,19 +115,22 @@ async function handleGenerateScopeStep(args, logger, requestId) {
|
|
|
115
115
|
});
|
|
116
116
|
}
|
|
117
117
|
const response = await (0, generate_scope_1.handleGenerateScope)(args.sessionId, args.scope, args.answers, logger, requestId);
|
|
118
|
+
// Get feedback message for successful responses
|
|
119
|
+
const feedbackMessage = response.success ? (0, index_1.maybeGetFeedbackMessage)() : '';
|
|
120
|
+
// Build response with optional feedback message in JSON
|
|
121
|
+
const responseData = {
|
|
122
|
+
...response,
|
|
123
|
+
...(feedbackMessage ? { feedbackMessage } : {})
|
|
124
|
+
};
|
|
125
|
+
// Build content blocks - JSON for REST API, agent instruction for MCP agents
|
|
118
126
|
const content = [{
|
|
119
127
|
type: 'text',
|
|
120
|
-
text: JSON.stringify(
|
|
128
|
+
text: JSON.stringify(responseData, null, 2)
|
|
121
129
|
}];
|
|
122
|
-
//
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
content.push({
|
|
127
|
-
type: 'text',
|
|
128
|
-
text: feedbackMessage
|
|
129
|
-
});
|
|
130
|
-
}
|
|
130
|
+
// Add agent instruction block if feedback message is present
|
|
131
|
+
const agentDisplayBlock = (0, index_1.buildAgentDisplayBlock)({ feedbackMessage });
|
|
132
|
+
if (agentDisplayBlock) {
|
|
133
|
+
content.push(agentDisplayBlock);
|
|
131
134
|
}
|
|
132
135
|
return { content };
|
|
133
136
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recommend.d.ts","sourceRoot":"","sources":["../../src/tools/recommend.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"recommend.d.ts","sourceRoot":"","sources":["../../src/tools/recommend.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,KAAK,EAA0B,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAWhD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMnD,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,0BAA0B,yXAAyX,CAAC;AAGja,eAAO,MAAM,2BAA2B;;;;;;;;CAWvC,CAAC;AAIF,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE;QACT,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;QACjB,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;QACd,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,CAAC;QACX,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC7B,CAAC;IACF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B,kBAAkB,CAAC,EAAE;QACnB,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,WAAW,CAAC;QACnC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,KAAK,CAAC;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACzD,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE;YACN,UAAU,EAAE,MAAM,CAAC;YACnB,cAAc,EAAE,MAAM,CAAC;YACvB,SAAS,EAAE,MAAM,CAAC;YAClB,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAiCD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,GAAG,EACT,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,CAAC,CA6WxD"}
|
package/dist/tools/recommend.js
CHANGED
|
@@ -8,6 +8,7 @@ exports.handleRecommendTool = handleRecommendTool;
|
|
|
8
8
|
const zod_1 = require("zod");
|
|
9
9
|
const error_handling_1 = require("../core/error-handling");
|
|
10
10
|
const schema_1 = require("../core/schema");
|
|
11
|
+
const index_1 = require("../core/index");
|
|
11
12
|
const cluster_utils_1 = require("../core/cluster-utils");
|
|
12
13
|
const generic_session_manager_1 = require("../core/generic-session-manager");
|
|
13
14
|
const choose_solution_1 = require("./choose-solution");
|
|
@@ -253,16 +254,15 @@ async function handleRecommendTool(args, dotAI, logger, requestId) {
|
|
|
253
254
|
topScore: helmSolutionSummaries[0]?.score,
|
|
254
255
|
...(helmVisualizationUrl && { visualizationUrl: helmVisualizationUrl })
|
|
255
256
|
});
|
|
256
|
-
//
|
|
257
|
+
// Build content blocks - JSON for REST API, agent instruction for MCP agents
|
|
257
258
|
const content = [{
|
|
258
259
|
type: 'text',
|
|
259
260
|
text: JSON.stringify(helmResponse, null, 2)
|
|
260
261
|
}];
|
|
261
|
-
if
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
});
|
|
262
|
+
// Add agent instruction block if visualization URL is present
|
|
263
|
+
const agentDisplayBlock = (0, index_1.buildAgentDisplayBlock)({ visualizationUrl: helmVisualizationUrl });
|
|
264
|
+
if (agentDisplayBlock) {
|
|
265
|
+
content.push(agentDisplayBlock);
|
|
266
266
|
}
|
|
267
267
|
return { content };
|
|
268
268
|
}
|
|
@@ -348,16 +348,15 @@ async function handleRecommendTool(args, dotAI, logger, requestId) {
|
|
|
348
348
|
solutionCount: solutionSummaries.length,
|
|
349
349
|
...(visualizationUrl && { visualizationUrl })
|
|
350
350
|
});
|
|
351
|
-
//
|
|
351
|
+
// Build content blocks - JSON for REST API, agent instruction for MCP agents
|
|
352
352
|
const content = [{
|
|
353
353
|
type: 'text',
|
|
354
354
|
text: JSON.stringify(response, null, 2)
|
|
355
355
|
}];
|
|
356
|
-
if
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
});
|
|
356
|
+
// Add agent instruction block if visualization URL is present
|
|
357
|
+
const agentDisplayBlock = (0, index_1.buildAgentDisplayBlock)({ visualizationUrl });
|
|
358
|
+
if (agentDisplayBlock) {
|
|
359
|
+
content.push(agentDisplayBlock);
|
|
361
360
|
}
|
|
362
361
|
return { content };
|
|
363
362
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remediate.d.ts","sourceRoot":"","sources":["../../src/tools/remediate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"remediate.d.ts","sourceRoot":"","sources":["../../src/tools/remediate.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/remediate.js
CHANGED
|
@@ -485,19 +485,22 @@ IMPORTANT: You MUST respond with the final JSON analysis format as specified in
|
|
|
485
485
|
summary: 'Validation confirmed issue resolution'
|
|
486
486
|
}
|
|
487
487
|
};
|
|
488
|
-
//
|
|
488
|
+
// Build response with optional feedback message in JSON
|
|
489
489
|
const feedbackMessage = (0, index_1.maybeGetFeedbackMessage)();
|
|
490
|
+
const responseWithFeedback = {
|
|
491
|
+
...successResponse,
|
|
492
|
+
...(feedbackMessage ? { feedbackMessage } : {})
|
|
493
|
+
};
|
|
490
494
|
const content = [
|
|
491
495
|
{
|
|
492
496
|
type: 'text',
|
|
493
|
-
text: JSON.stringify(
|
|
497
|
+
text: JSON.stringify(responseWithFeedback, null, 2)
|
|
494
498
|
}
|
|
495
499
|
];
|
|
496
|
-
if
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
});
|
|
500
|
+
// Add agent instruction block if feedback message is present
|
|
501
|
+
const agentDisplayBlock = (0, index_1.buildAgentDisplayBlock)({ feedbackMessage });
|
|
502
|
+
if (agentDisplayBlock) {
|
|
503
|
+
content.push(agentDisplayBlock);
|
|
501
504
|
}
|
|
502
505
|
return { content };
|
|
503
506
|
}
|
|
@@ -565,21 +568,22 @@ IMPORTANT: You MUST respond with the final JSON analysis format as specified in
|
|
|
565
568
|
successfulActions: results.filter(r => r.success).length,
|
|
566
569
|
failedActions: results.filter(r => !r.success).length
|
|
567
570
|
});
|
|
571
|
+
// Build response with optional feedback message in JSON (only on success)
|
|
572
|
+
const executionFeedbackMessage = overallSuccess ? (0, index_1.maybeGetFeedbackMessage)() : '';
|
|
573
|
+
const responseWithFeedback = {
|
|
574
|
+
...response,
|
|
575
|
+
...(executionFeedbackMessage ? { feedbackMessage: executionFeedbackMessage } : {})
|
|
576
|
+
};
|
|
568
577
|
const content = [
|
|
569
578
|
{
|
|
570
579
|
type: 'text',
|
|
571
|
-
text: JSON.stringify(
|
|
580
|
+
text: JSON.stringify(responseWithFeedback, null, 2)
|
|
572
581
|
}
|
|
573
582
|
];
|
|
574
|
-
//
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
content.push({
|
|
579
|
-
type: 'text',
|
|
580
|
-
text: executionFeedbackMessage
|
|
581
|
-
});
|
|
582
|
-
}
|
|
583
|
+
// Add agent instruction block if feedback message is present
|
|
584
|
+
const agentDisplayBlock = (0, index_1.buildAgentDisplayBlock)({ feedbackMessage: executionFeedbackMessage });
|
|
585
|
+
if (agentDisplayBlock) {
|
|
586
|
+
content.push(agentDisplayBlock);
|
|
583
587
|
}
|
|
584
588
|
return { content };
|
|
585
589
|
}
|
|
@@ -637,23 +641,22 @@ async function handleRemediateTool(args) {
|
|
|
637
641
|
sessionId: session.sessionId,
|
|
638
642
|
status: finalAnalysis.status
|
|
639
643
|
});
|
|
640
|
-
//
|
|
644
|
+
// Generate visualization URL for resolved issues
|
|
641
645
|
const visualizationUrl = (0, visualization_1.getVisualizationUrl)(session.sessionId);
|
|
642
|
-
//
|
|
643
|
-
const
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
};
|
|
646
|
+
// Build response with visualization URL in JSON
|
|
647
|
+
const content = [{
|
|
648
|
+
type: 'text',
|
|
649
|
+
text: JSON.stringify({
|
|
650
|
+
...finalAnalysis,
|
|
651
|
+
...(visualizationUrl ? { visualizationUrl } : {})
|
|
652
|
+
}, null, 2)
|
|
653
|
+
}];
|
|
654
|
+
// Add agent instruction block if visualization URL is present
|
|
655
|
+
const agentDisplayBlock = (0, index_1.buildAgentDisplayBlock)({ visualizationUrl });
|
|
656
|
+
if (agentDisplayBlock) {
|
|
657
|
+
content.push(agentDisplayBlock);
|
|
658
|
+
}
|
|
659
|
+
return { content };
|
|
657
660
|
}
|
|
658
661
|
// Make execution decision based on mode and thresholds
|
|
659
662
|
const executionDecision = makeExecutionDecision(validatedInput.mode || 'manual', finalAnalysis.analysis.confidence, finalAnalysis.remediation.risk, validatedInput.confidenceThreshold, validatedInput.maxRiskLevel);
|
|
@@ -696,23 +699,22 @@ async function handleRemediateTool(args) {
|
|
|
696
699
|
// Execute commands and return the complete result (includes post-execution validation)
|
|
697
700
|
return await executeRemediationCommands(session, sessionManager, logger, requestId, validatedInput.interaction_id);
|
|
698
701
|
}
|
|
699
|
-
//
|
|
702
|
+
// Generate visualization URL for analysis response
|
|
700
703
|
const visualizationUrl = (0, visualization_1.getVisualizationUrl)(session.sessionId);
|
|
701
|
-
//
|
|
702
|
-
const
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
};
|
|
704
|
+
// Build response with visualization URL in JSON
|
|
705
|
+
const content = [{
|
|
706
|
+
type: 'text',
|
|
707
|
+
text: JSON.stringify({
|
|
708
|
+
...finalResult,
|
|
709
|
+
...(visualizationUrl ? { visualizationUrl } : {})
|
|
710
|
+
}, null, 2)
|
|
711
|
+
}];
|
|
712
|
+
// Add agent instruction block if visualization URL is present
|
|
713
|
+
const agentDisplayBlock = (0, index_1.buildAgentDisplayBlock)({ visualizationUrl });
|
|
714
|
+
if (agentDisplayBlock) {
|
|
715
|
+
content.push(agentDisplayBlock);
|
|
716
|
+
}
|
|
717
|
+
return { content };
|
|
716
718
|
}
|
|
717
719
|
catch (error) {
|
|
718
720
|
if (error instanceof Error && 'category' in error) {
|
package/dist/tools/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/tools/version.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAShD,OAAO,EAAuB,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnF,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAC3C,eAAO,MAAM,wBAAwB,oDAAoD,CAAC;AAC1F,eAAO,MAAM,yBAAyB;;CAErC,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE;QACR,SAAS,EAAE,OAAO,CAAC;QACnB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,EAAE;YACX,QAAQ,EAAE;gBACR,MAAM,EAAE,OAAO,CAAC;gBAChB,cAAc,CAAC,EAAE,MAAM,CAAC;gBACxB,KAAK,CAAC,EAAE,MAAM,CAAC;aAChB,CAAC;YACF,QAAQ,EAAE;gBACR,MAAM,EAAE,OAAO,CAAC;gBAChB,cAAc,CAAC,EAAE,MAAM,CAAC;gBACxB,KAAK,CAAC,EAAE,MAAM,CAAC;aAChB,CAAC;YACF,YAAY,EAAE;gBACZ,MAAM,EAAE,OAAO,CAAC;gBAChB,cAAc,CAAC,EAAE,MAAM,CAAC;gBACxB,KAAK,CAAC,EAAE,MAAM,CAAC;aAChB,CAAC;YACF,SAAS,EAAE;gBACT,MAAM,EAAE,OAAO,CAAC;gBAChB,cAAc,CAAC,EAAE,MAAM,CAAC;gBACxB,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/tools/version.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/version.js
CHANGED
|
@@ -155,7 +155,7 @@ async function testCollectionStatus(collectionName, getCountFn) {
|
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
157
|
/**
|
|
158
|
-
* Test resources collection status
|
|
158
|
+
* Test resources collection status
|
|
159
159
|
*/
|
|
160
160
|
async function testResourcesCollectionStatus(embeddingService) {
|
|
161
161
|
try {
|
|
@@ -163,18 +163,9 @@ async function testResourcesCollectionStatus(embeddingService) {
|
|
|
163
163
|
const resourceService = new resource_vector_service_1.ResourceVectorService('resources', resourceVectorDB, embeddingService);
|
|
164
164
|
const resources = await resourceService.listResources();
|
|
165
165
|
const documentsCount = resources.length;
|
|
166
|
-
// Extract unique resource types as "kind.group" (e.g., "Deployment.apps", "Service.")
|
|
167
|
-
const typeSet = new Set();
|
|
168
|
-
for (const resource of resources) {
|
|
169
|
-
const group = resource.apiGroup || '';
|
|
170
|
-
const syncedType = group ? `${resource.kind}.${group}` : resource.kind;
|
|
171
|
-
typeSet.add(syncedType);
|
|
172
|
-
}
|
|
173
|
-
const syncedTypes = Array.from(typeSet).sort();
|
|
174
166
|
return {
|
|
175
167
|
exists: true,
|
|
176
|
-
documentsCount
|
|
177
|
-
syncedTypes
|
|
168
|
+
documentsCount
|
|
178
169
|
};
|
|
179
170
|
}
|
|
180
171
|
catch (error) {
|
|
@@ -678,32 +669,24 @@ async function handleVersionTool(args, logger, requestId) {
|
|
|
678
669
|
});
|
|
679
670
|
// PRD #320: Generate visualization URL if configured
|
|
680
671
|
const visualizationUrl = (0, visualization_1.getVisualizationUrl)(session.sessionId);
|
|
681
|
-
//
|
|
672
|
+
// Build response with optional visualization URL and feedback message in JSON
|
|
682
673
|
const responseData = {
|
|
683
674
|
status: 'success',
|
|
684
675
|
system: systemStatus,
|
|
685
676
|
summary,
|
|
686
677
|
timestamp,
|
|
687
|
-
...(visualizationUrl ? { visualizationUrl } : {})
|
|
678
|
+
...(visualizationUrl ? { visualizationUrl } : {}),
|
|
679
|
+
...(feedbackMessage ? { feedbackMessage } : {})
|
|
688
680
|
};
|
|
689
|
-
//
|
|
681
|
+
// Build content blocks - JSON for REST API, agent instruction for MCP agents
|
|
690
682
|
const content = [{
|
|
691
683
|
type: 'text',
|
|
692
684
|
text: JSON.stringify(responseData, null, 2)
|
|
693
685
|
}];
|
|
694
|
-
// Add
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
text: `š **View visualization**: ${visualizationUrl}`
|
|
699
|
-
});
|
|
700
|
-
}
|
|
701
|
-
// PRD #326: Add feedback message as separate content block so agents display it to users
|
|
702
|
-
if (feedbackMessage) {
|
|
703
|
-
content.push({
|
|
704
|
-
type: 'text',
|
|
705
|
-
text: feedbackMessage
|
|
706
|
-
});
|
|
686
|
+
// Add agent instruction block if visualization URL or feedback message is present
|
|
687
|
+
const agentDisplayBlock = (0, index_1.buildAgentDisplayBlock)({ visualizationUrl, feedbackMessage });
|
|
688
|
+
if (agentDisplayBlock) {
|
|
689
|
+
content.push(agentDisplayBlock);
|
|
707
690
|
}
|
|
708
691
|
return { content };
|
|
709
692
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vfarcic/dot-ai",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.190.0",
|
|
4
4
|
"description": "AI-powered development productivity platform that enhances software development workflows through intelligent automation and AI-driven assistance",
|
|
5
5
|
"mcpName": "io.github.vfarcic/dot-ai",
|
|
6
6
|
"main": "dist/index.js",
|