@vfarcic/dot-ai 1.0.3 → 1.2.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/README.md +1 -0
- package/dist/core/ai-provider.interface.d.ts +12 -8
- package/dist/core/ai-provider.interface.d.ts.map +1 -1
- package/dist/core/artifacthub.d.ts +1 -1
- package/dist/core/artifacthub.d.ts.map +1 -1
- package/dist/core/base-vector-service.d.ts +22 -9
- package/dist/core/base-vector-service.d.ts.map +1 -1
- package/dist/core/base-vector-service.js +106 -37
- package/dist/core/capabilities.d.ts.map +1 -1
- package/dist/core/capabilities.js +5 -2
- package/dist/core/capability-operations.d.ts +55 -7
- package/dist/core/capability-operations.d.ts.map +1 -1
- package/dist/core/capability-operations.js +1 -3
- package/dist/core/capability-scan-workflow.d.ts +64 -8
- package/dist/core/capability-scan-workflow.d.ts.map +1 -1
- package/dist/core/capability-scan-workflow.js +14 -13
- package/dist/core/capability-tools.d.ts +1 -1
- package/dist/core/capability-tools.d.ts.map +1 -1
- package/dist/core/capability-tools.js +1 -1
- package/dist/core/capability-vector-service.d.ts +3 -4
- package/dist/core/capability-vector-service.d.ts.map +1 -1
- package/dist/core/capability-vector-service.js +2 -2
- package/dist/core/command-executor.d.ts +3 -4
- package/dist/core/command-executor.d.ts.map +1 -1
- package/dist/core/command-executor.js +8 -4
- package/dist/core/crd-availability.d.ts +3 -5
- package/dist/core/crd-availability.d.ts.map +1 -1
- package/dist/core/crd-availability.js +8 -18
- package/dist/core/deploy-operation.d.ts +6 -5
- package/dist/core/deploy-operation.d.ts.map +1 -1
- package/dist/core/deploy-operation.js +16 -10
- package/dist/core/discovery.d.ts +6 -14
- package/dist/core/discovery.d.ts.map +1 -1
- package/dist/core/discovery.js +35 -51
- package/dist/core/embedding-service.d.ts.map +1 -1
- package/dist/core/embedding-service.js +1 -1
- package/dist/core/error-handling.d.ts +13 -13
- package/dist/core/error-handling.d.ts.map +1 -1
- package/dist/core/error-handling.js +2 -3
- package/dist/core/generic-session-manager.d.ts +2 -2
- package/dist/core/generic-session-manager.d.ts.map +1 -1
- package/dist/core/helm-types.d.ts +5 -5
- package/dist/core/helm-types.d.ts.map +1 -1
- package/dist/core/index.d.ts +4 -11
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +8 -14
- package/dist/core/knowledge-types.d.ts +114 -0
- package/dist/core/knowledge-types.d.ts.map +1 -0
- package/dist/core/knowledge-types.js +10 -0
- package/dist/core/memory.d.ts +12 -12
- package/dist/core/memory.d.ts.map +1 -1
- package/dist/core/mermaid-tools.d.ts +24 -1
- package/dist/core/mermaid-tools.d.ts.map +1 -1
- package/dist/core/mermaid-tools.js +10 -8
- package/dist/core/model-config.d.ts +1 -1
- package/dist/core/model-config.js +1 -1
- package/dist/core/packaging.d.ts +23 -1
- package/dist/core/packaging.d.ts.map +1 -1
- package/dist/core/pattern-operations.d.ts +32 -9
- package/dist/core/pattern-operations.d.ts.map +1 -1
- package/dist/core/pattern-operations.js +17 -22
- package/dist/core/pattern-vector-service.d.ts +3 -4
- package/dist/core/pattern-vector-service.d.ts.map +1 -1
- package/dist/core/pattern-vector-service.js +2 -2
- package/dist/core/platform-utils.d.ts +2 -2
- package/dist/core/platform-utils.d.ts.map +1 -1
- package/dist/core/plugin-manager.d.ts +6 -2
- package/dist/core/plugin-manager.d.ts.map +1 -1
- package/dist/core/plugin-manager.js +9 -16
- package/dist/core/plugin-registry.d.ts +59 -0
- package/dist/core/plugin-registry.d.ts.map +1 -0
- package/dist/core/plugin-registry.js +80 -0
- package/dist/core/policy-operations.d.ts +101 -21
- package/dist/core/policy-operations.d.ts.map +1 -1
- package/dist/core/policy-operations.js +45 -47
- package/dist/core/policy-vector-service.d.ts +3 -4
- package/dist/core/policy-vector-service.d.ts.map +1 -1
- package/dist/core/policy-vector-service.js +2 -2
- package/dist/core/providers/host-provider.d.ts +1 -1
- package/dist/core/providers/host-provider.d.ts.map +1 -1
- package/dist/core/providers/host-provider.js +2 -2
- package/dist/core/providers/provider-debug-utils.d.ts +2 -2
- package/dist/core/providers/provider-debug-utils.d.ts.map +1 -1
- package/dist/core/providers/tool-utils.d.ts +10 -2
- package/dist/core/providers/tool-utils.d.ts.map +1 -1
- package/dist/core/providers/tool-utils.js +2 -2
- package/dist/core/providers/vercel-provider.d.ts.map +1 -1
- package/dist/core/providers/vercel-provider.js +29 -23
- package/dist/core/resource-tools.d.ts +29 -1
- package/dist/core/resource-tools.d.ts.map +1 -1
- package/dist/core/resource-vector-service.d.ts +3 -4
- package/dist/core/resource-vector-service.d.ts.map +1 -1
- package/dist/core/resource-vector-service.js +2 -2
- package/dist/core/schema.d.ts +15 -14
- package/dist/core/schema.d.ts.map +1 -1
- package/dist/core/schema.js +32 -34
- package/dist/core/shared-prompt-loader.d.ts +1 -1
- package/dist/core/shared-prompt-loader.d.ts.map +1 -1
- package/dist/core/solution-cr.js +1 -1
- package/dist/core/solution-utils.d.ts +22 -3
- package/dist/core/solution-utils.d.ts.map +1 -1
- package/dist/core/solution-utils.js +1 -1
- package/dist/core/telemetry/client.d.ts +0 -6
- package/dist/core/telemetry/client.d.ts.map +1 -1
- package/dist/core/telemetry/client.js +6 -17
- package/dist/core/telemetry/config.js +1 -1
- package/dist/core/telemetry/index.d.ts +1 -1
- package/dist/core/telemetry/index.d.ts.map +1 -1
- package/dist/core/telemetry/index.js +1 -2
- package/dist/core/tracing/tool-tracing.d.ts +1 -1
- package/dist/core/tracing/tool-tracing.d.ts.map +1 -1
- package/dist/core/unified-creation-session.d.ts +15 -8
- package/dist/core/unified-creation-session.d.ts.map +1 -1
- package/dist/core/unified-creation-session.js +19 -19
- package/dist/core/unified-creation-types.d.ts +2 -2
- package/dist/core/unified-creation-types.d.ts.map +1 -1
- package/dist/core/visualization.d.ts +1 -1
- package/dist/core/visualization.d.ts.map +1 -1
- package/dist/core/workflow.d.ts +8 -5
- package/dist/core/workflow.d.ts.map +1 -1
- package/dist/evaluation/dataset-analyzer.d.ts +13 -7
- package/dist/evaluation/dataset-analyzer.d.ts.map +1 -1
- package/dist/evaluation/dataset-analyzer.js +1 -1
- package/dist/evaluation/datasets/loader.d.ts +2 -2
- package/dist/evaluation/datasets/loader.d.ts.map +1 -1
- package/dist/evaluation/eval-runner.js +7 -5
- package/dist/evaluation/evaluators/base-comparative.d.ts +1 -1
- package/dist/evaluation/evaluators/base-comparative.d.ts.map +1 -1
- package/dist/evaluation/evaluators/base-comparative.js +4 -3
- package/dist/evaluation/evaluators/base.d.ts +5 -5
- package/dist/evaluation/evaluators/base.d.ts.map +1 -1
- package/dist/evaluation/evaluators/capability-comparative.js +1 -1
- package/dist/evaluation/platform-synthesizer.d.ts.map +1 -1
- package/dist/interfaces/mcp.d.ts.map +1 -1
- package/dist/interfaces/mcp.js +26 -15
- package/dist/interfaces/openapi-generator.d.ts +116 -12
- package/dist/interfaces/openapi-generator.d.ts.map +1 -1
- package/dist/interfaces/openapi-generator.js +500 -207
- package/dist/interfaces/rest-api.d.ts +28 -6
- package/dist/interfaces/rest-api.d.ts.map +1 -1
- package/dist/interfaces/rest-api.js +436 -245
- package/dist/interfaces/rest-registry.d.ts +5 -5
- package/dist/interfaces/rest-registry.d.ts.map +1 -1
- package/dist/interfaces/rest-registry.js +12 -27
- package/dist/interfaces/rest-route-registry.d.ts +165 -0
- package/dist/interfaces/rest-route-registry.d.ts.map +1 -0
- package/dist/interfaces/rest-route-registry.js +230 -0
- package/dist/interfaces/routes/index.d.ts +22 -0
- package/dist/interfaces/routes/index.d.ts.map +1 -0
- package/dist/interfaces/routes/index.js +347 -0
- package/dist/interfaces/schemas/common.d.ts +170 -0
- package/dist/interfaces/schemas/common.d.ts.map +1 -0
- package/dist/interfaces/schemas/common.js +114 -0
- package/dist/interfaces/schemas/events.d.ts +127 -0
- package/dist/interfaces/schemas/events.d.ts.map +1 -0
- package/dist/interfaces/schemas/events.js +66 -0
- package/dist/interfaces/schemas/index.d.ts +21 -0
- package/dist/interfaces/schemas/index.d.ts.map +1 -0
- package/dist/interfaces/schemas/index.js +138 -0
- package/dist/interfaces/schemas/knowledge.d.ts +201 -0
- package/dist/interfaces/schemas/knowledge.d.ts.map +1 -0
- package/dist/interfaces/schemas/knowledge.js +117 -0
- package/dist/interfaces/schemas/logs.d.ts +78 -0
- package/dist/interfaces/schemas/logs.d.ts.map +1 -0
- package/dist/interfaces/schemas/logs.js +46 -0
- package/dist/interfaces/schemas/prompts.d.ts +185 -0
- package/dist/interfaces/schemas/prompts.d.ts.map +1 -0
- package/dist/interfaces/schemas/prompts.js +91 -0
- package/dist/interfaces/schemas/resources.d.ts +363 -0
- package/dist/interfaces/schemas/resources.d.ts.map +1 -0
- package/dist/interfaces/schemas/resources.js +173 -0
- package/dist/interfaces/schemas/sessions.d.ts +87 -0
- package/dist/interfaces/schemas/sessions.d.ts.map +1 -0
- package/dist/interfaces/schemas/sessions.js +56 -0
- package/dist/interfaces/schemas/tools.d.ts +188 -0
- package/dist/interfaces/schemas/tools.d.ts.map +1 -0
- package/dist/interfaces/schemas/tools.js +101 -0
- package/dist/interfaces/schemas/visualization.d.ts +369 -0
- package/dist/interfaces/schemas/visualization.d.ts.map +1 -0
- package/dist/interfaces/schemas/visualization.js +134 -0
- package/dist/mcp/server.js +5 -4
- package/dist/tools/answer-question.d.ts +1 -1
- package/dist/tools/answer-question.d.ts.map +1 -1
- package/dist/tools/answer-question.js +9 -8
- package/dist/tools/deploy-manifests.d.ts +4 -2
- package/dist/tools/deploy-manifests.d.ts.map +1 -1
- package/dist/tools/deploy-manifests.js +10 -6
- package/dist/tools/generate-manifests.d.ts.map +1 -1
- package/dist/tools/generate-manifests.js +28 -20
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +6 -1
- package/dist/tools/manage-knowledge.d.ts +77 -0
- package/dist/tools/manage-knowledge.d.ts.map +1 -0
- package/dist/tools/manage-knowledge.js +573 -0
- package/dist/tools/operate-analysis.d.ts +31 -2
- package/dist/tools/operate-analysis.d.ts.map +1 -1
- package/dist/tools/operate-execution.d.ts +2 -3
- package/dist/tools/operate-execution.d.ts.map +1 -1
- package/dist/tools/operate-execution.js +7 -7
- package/dist/tools/operate.d.ts +7 -2
- package/dist/tools/operate.d.ts.map +1 -1
- package/dist/tools/operate.js +2 -2
- package/dist/tools/organizational-data.d.ts +30 -4
- package/dist/tools/organizational-data.d.ts.map +1 -1
- package/dist/tools/organizational-data.js +24 -19
- package/dist/tools/project-setup/discovery.d.ts.map +1 -1
- package/dist/tools/project-setup/generate-scope.d.ts +1 -1
- package/dist/tools/project-setup/generate-scope.d.ts.map +1 -1
- package/dist/tools/project-setup/types.d.ts +1 -0
- package/dist/tools/project-setup/types.d.ts.map +1 -1
- package/dist/tools/prompts.d.ts +29 -3
- package/dist/tools/prompts.d.ts.map +1 -1
- package/dist/tools/prompts.js +6 -3
- package/dist/tools/query.d.ts +17 -3
- package/dist/tools/query.d.ts.map +1 -1
- package/dist/tools/query.js +1 -7
- package/dist/tools/recommend.d.ts +24 -6
- package/dist/tools/recommend.d.ts.map +1 -1
- package/dist/tools/recommend.js +18 -15
- package/dist/tools/remediate.d.ts +12 -3
- package/dist/tools/remediate.d.ts.map +1 -1
- package/dist/tools/remediate.js +22 -14
- package/dist/tools/version.d.ts +19 -5
- package/dist/tools/version.d.ts.map +1 -1
- package/dist/tools/version.js +106 -54
- package/package.json +15 -9
- package/prompts/knowledge-ask.md +29 -0
- package/scripts/generate-openapi.sh +56 -0
- package/scripts/grafana-stack.nu +118 -0
- package/shared-prompts/prd-create.md +2 -0
- package/dist/core/vector-db-service.d.ts +0 -108
- package/dist/core/vector-db-service.d.ts.map +0 -1
- package/dist/core/vector-db-service.js +0 -647
|
@@ -44,6 +44,7 @@ const error_handling_1 = require("../core/error-handling");
|
|
|
44
44
|
const deploy_operation_1 = require("../core/deploy-operation");
|
|
45
45
|
const generic_session_manager_1 = require("../core/generic-session-manager");
|
|
46
46
|
const solution_utils_1 = require("../core/solution-utils");
|
|
47
|
+
const plugin_registry_1 = require("../core/plugin-registry");
|
|
47
48
|
const fs = __importStar(require("fs"));
|
|
48
49
|
const path = __importStar(require("path"));
|
|
49
50
|
// PRD #343: Inline utilities (helm-utils.ts removed - all helm operations via plugin)
|
|
@@ -72,7 +73,10 @@ exports.DEPLOYMANIFESTS_TOOL_INPUT_SCHEMA = {
|
|
|
72
73
|
* Direct MCP tool handler for deployManifests functionality
|
|
73
74
|
* PRD #343: pluginManager required for kubectl operations
|
|
74
75
|
*/
|
|
75
|
-
|
|
76
|
+
/**
|
|
77
|
+
* PRD #359: Uses unified plugin registry for kubectl operations
|
|
78
|
+
*/
|
|
79
|
+
async function handleDeployManifestsTool(args, dotAI, logger, requestId) {
|
|
76
80
|
return await error_handling_1.ErrorHandler.withErrorHandling(async () => {
|
|
77
81
|
logger.debug('Handling deployManifests request', {
|
|
78
82
|
requestId,
|
|
@@ -124,9 +128,9 @@ async function handleDeployManifestsTool(args, dotAI, logger, requestId, pluginM
|
|
|
124
128
|
timeout,
|
|
125
129
|
requestId
|
|
126
130
|
});
|
|
127
|
-
// PRD #
|
|
131
|
+
// PRD #359: All Helm operations go through unified plugin registry
|
|
128
132
|
// First, add/update the Helm repository
|
|
129
|
-
const repoResult = await
|
|
133
|
+
const repoResult = await (0, plugin_registry_1.invokePluginTool)('agentic-tools', 'helm_repo_add', {
|
|
130
134
|
name: chart.repositoryName,
|
|
131
135
|
url: chart.repository
|
|
132
136
|
});
|
|
@@ -134,7 +138,7 @@ async function handleDeployManifestsTool(args, dotAI, logger, requestId, pluginM
|
|
|
134
138
|
logger.warn('Helm repo add failed', { error: repoResult.error?.message });
|
|
135
139
|
}
|
|
136
140
|
// Deploy using helm_install with wait
|
|
137
|
-
const installResult = await
|
|
141
|
+
const installResult = await (0, plugin_registry_1.invokePluginTool)('agentic-tools', 'helm_install', {
|
|
138
142
|
releaseName,
|
|
139
143
|
chart: `${chart.repositoryName}/${chart.chartName}`,
|
|
140
144
|
namespace,
|
|
@@ -216,11 +220,11 @@ async function handleDeployManifestsTool(args, dotAI, logger, requestId, pluginM
|
|
|
216
220
|
};
|
|
217
221
|
}
|
|
218
222
|
// Capability-based solution: Use existing DeployOperation
|
|
219
|
-
// PRD #
|
|
223
|
+
// PRD #359: Uses unified plugin registry for kubectl operations
|
|
220
224
|
logger.info('Using capability-based deployment flow', {
|
|
221
225
|
solutionId: args.solutionId
|
|
222
226
|
});
|
|
223
|
-
const deployOp = new deploy_operation_1.DeployOperation(
|
|
227
|
+
const deployOp = new deploy_operation_1.DeployOperation();
|
|
224
228
|
const deployOptions = {
|
|
225
229
|
solutionId: args.solutionId,
|
|
226
230
|
timeout
|
|
@@ -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,EAA0B,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;
|
|
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,EAA0B,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAgBhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAsD5D,eAAO,MAAM,2BAA2B,sBAAsB,CAAC;AAC/D,eAAO,MAAM,kCAAkC,+IAA+I,CAAC;AAG/L,eAAO,MAAM,mCAAmC;;;CAG/C,CAAC;AA40BF;;;GAGG;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,EACjB,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC;IAAE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,CAAC,CAkUxD"}
|
|
@@ -56,7 +56,8 @@ const crd_availability_1 = require("../core/crd-availability");
|
|
|
56
56
|
const solution_cr_1 = require("../core/solution-cr");
|
|
57
57
|
const packaging_1 = require("../core/packaging");
|
|
58
58
|
const visualization_1 = require("../core/visualization");
|
|
59
|
-
|
|
59
|
+
const plugin_registry_1 = require("../core/plugin-registry");
|
|
60
|
+
// PRD #359: All helm operations via unified plugin registry
|
|
60
61
|
/**
|
|
61
62
|
* Ensure tmp directory exists
|
|
62
63
|
*/
|
|
@@ -132,8 +133,8 @@ async function retrieveResourceSchemas(solution, dotAI, logger) {
|
|
|
132
133
|
schemas[resourceKey] = {
|
|
133
134
|
kind: resourceRef.kind,
|
|
134
135
|
apiVersion: resourceRef.apiVersion,
|
|
135
|
-
|
|
136
|
-
|
|
136
|
+
explanation,
|
|
137
|
+
retrievedAt: new Date().toISOString()
|
|
137
138
|
};
|
|
138
139
|
logger.debug('Schema retrieved successfully', {
|
|
139
140
|
resourceKey,
|
|
@@ -194,7 +195,8 @@ async function helmLint(chartDir, logger) {
|
|
|
194
195
|
}
|
|
195
196
|
catch (error) {
|
|
196
197
|
// helm lint exits with non-zero on errors
|
|
197
|
-
const
|
|
198
|
+
const execError = error;
|
|
199
|
+
const errorOutput = execError.stderr || execError.message || String(error);
|
|
198
200
|
const errors = [];
|
|
199
201
|
const warnings = [];
|
|
200
202
|
// Parse output for errors and warnings
|
|
@@ -217,9 +219,9 @@ async function helmLint(chartDir, logger) {
|
|
|
217
219
|
}
|
|
218
220
|
/**
|
|
219
221
|
* Validate manifests using multi-layer approach
|
|
220
|
-
* PRD #
|
|
222
|
+
* PRD #359: Uses unified plugin registry for kubectl operations
|
|
221
223
|
*/
|
|
222
|
-
async function validateManifests(yamlPath
|
|
224
|
+
async function validateManifests(yamlPath) {
|
|
223
225
|
// First check if file exists
|
|
224
226
|
if (!fs.existsSync(yamlPath)) {
|
|
225
227
|
return {
|
|
@@ -240,8 +242,8 @@ async function validateManifests(yamlPath, pluginManager) {
|
|
|
240
242
|
};
|
|
241
243
|
}
|
|
242
244
|
// 2. kubectl dry-run validation using ManifestValidator
|
|
243
|
-
// PRD #
|
|
244
|
-
const validator = new schema_1.ManifestValidator(
|
|
245
|
+
// PRD #359: Uses unified plugin registry for kubectl operations
|
|
246
|
+
const validator = new schema_1.ManifestValidator();
|
|
245
247
|
return await validator.validateManifest(yamlPath, { dryRunMode: 'server' });
|
|
246
248
|
}
|
|
247
249
|
/**
|
|
@@ -351,15 +353,18 @@ ${errorContext.previousValues}
|
|
|
351
353
|
* Validate Helm installation using dry-run via plugin
|
|
352
354
|
* PRD #343: All Helm operations go through plugin system
|
|
353
355
|
*/
|
|
354
|
-
|
|
356
|
+
/**
|
|
357
|
+
* PRD #359: Uses unified plugin registry for helm operations
|
|
358
|
+
*/
|
|
359
|
+
async function validateHelmInstallation(chart, releaseName, namespace, valuesYaml, logger) {
|
|
355
360
|
logger.info('Running Helm dry-run validation via plugin', {
|
|
356
361
|
chart: `${chart.repositoryName}/${chart.chartName}`,
|
|
357
362
|
releaseName,
|
|
358
363
|
namespace
|
|
359
364
|
});
|
|
360
365
|
try {
|
|
361
|
-
// First, add/update the Helm repository
|
|
362
|
-
const repoResult = await
|
|
366
|
+
// PRD #359: First, add/update the Helm repository via unified registry
|
|
367
|
+
const repoResult = await (0, plugin_registry_1.invokePluginTool)('agentic-tools', 'helm_repo_add', {
|
|
363
368
|
name: chart.repositoryName,
|
|
364
369
|
url: chart.repository
|
|
365
370
|
});
|
|
@@ -372,7 +377,7 @@ async function validateHelmInstallation(chart, releaseName, namespace, valuesYam
|
|
|
372
377
|
};
|
|
373
378
|
}
|
|
374
379
|
// Run helm install with dry-run
|
|
375
|
-
const installResult = await
|
|
380
|
+
const installResult = await (0, plugin_registry_1.invokePluginTool)('agentic-tools', 'helm_install', {
|
|
376
381
|
releaseName,
|
|
377
382
|
chart: `${chart.repositoryName}/${chart.chartName}`,
|
|
378
383
|
namespace,
|
|
@@ -448,8 +453,8 @@ async function handleHelmGeneration(solution, solutionId, dotAI, logger, request
|
|
|
448
453
|
const attemptPath = valuesPath.replace('.yaml', `_attempt_${attempt.toString().padStart(2, '0')}.yaml`);
|
|
449
454
|
fs.writeFileSync(attemptPath, valuesYaml, 'utf8');
|
|
450
455
|
// Validate with helm dry-run via plugin
|
|
451
|
-
// PRD #
|
|
452
|
-
const validation = await validateHelmInstallation(chart, releaseName, namespace, valuesYaml, logger
|
|
456
|
+
// PRD #359: Uses unified plugin registry - no pluginManager needed
|
|
457
|
+
const validation = await validateHelmInstallation(chart, releaseName, namespace, valuesYaml, logger);
|
|
453
458
|
if (validation.valid) {
|
|
454
459
|
logger.info('Helm validation successful', {
|
|
455
460
|
attempt,
|
|
@@ -471,7 +476,7 @@ async function handleHelmGeneration(solution, solutionId, dotAI, logger, request
|
|
|
471
476
|
repository: chart.repository,
|
|
472
477
|
repositoryName: chart.repositoryName,
|
|
473
478
|
chartName: chart.chartName,
|
|
474
|
-
version: chart.version
|
|
479
|
+
version: chart.version || 'latest'
|
|
475
480
|
},
|
|
476
481
|
releaseName: releaseName,
|
|
477
482
|
namespace: namespace,
|
|
@@ -622,7 +627,9 @@ async function packageAndValidate(rawManifests, solution, outputFormat, outputPa
|
|
|
622
627
|
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
623
628
|
logger.info('Packaging attempt', { attempt, maxAttempts, format: outputFormat });
|
|
624
629
|
try {
|
|
625
|
-
const packagingResult = await (0, packaging_1.packageManifests)(rawManifests,
|
|
630
|
+
const packagingResult = await (0, packaging_1.packageManifests)(rawManifests,
|
|
631
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Different SolutionData types between modules
|
|
632
|
+
solution, outputFormat, outputPath, dotAI, logger, packagingError, interaction_id);
|
|
626
633
|
// Write files to temp directory
|
|
627
634
|
if (fs.existsSync(packageDir)) {
|
|
628
635
|
fs.rmSync(packageDir, { recursive: true });
|
|
@@ -671,7 +678,7 @@ async function packageAndValidate(rawManifests, solution, outputFormat, outputPa
|
|
|
671
678
|
throw new Error('Render succeeded but no YAML content returned');
|
|
672
679
|
}
|
|
673
680
|
fs.writeFileSync(renderedYamlPath, renderResult.yaml, 'utf8');
|
|
674
|
-
const validation = await validateManifests(renderedYamlPath
|
|
681
|
+
const validation = await validateManifests(renderedYamlPath);
|
|
675
682
|
if (validation.valid) {
|
|
676
683
|
logger.info('Package validation successful', { format: outputFormat, attempt });
|
|
677
684
|
cleanupPackageDir();
|
|
@@ -773,9 +780,10 @@ async function handleGenerateManifestsTool(args, dotAI, logger, requestId, plugi
|
|
|
773
780
|
// Generate manifests with AI (including labels)
|
|
774
781
|
const aiManifests = await generateManifestsWithAI(solution, args.solutionId, dotAI, logger, lastError, dotAiLabels, args.interaction_id);
|
|
775
782
|
// Check if Solution CRD is available and generate Solution CR if present
|
|
783
|
+
// PRD #359: Uses unified plugin registry - no pluginManager param needed
|
|
776
784
|
let solutionCR = '';
|
|
777
785
|
try {
|
|
778
|
-
const crdAvailable = await (0, crd_availability_1.isSolutionCRDAvailable)(
|
|
786
|
+
const crdAvailable = await (0, crd_availability_1.isSolutionCRDAvailable)();
|
|
779
787
|
if (crdAvailable) {
|
|
780
788
|
solutionCR = (0, solution_cr_1.generateSolutionCR)({
|
|
781
789
|
solutionId: args.solutionId,
|
|
@@ -815,8 +823,8 @@ async function handleGenerateManifestsTool(args, dotAI, logger, requestId, plugi
|
|
|
815
823
|
requestId
|
|
816
824
|
});
|
|
817
825
|
// Validate manifests
|
|
818
|
-
// PRD #
|
|
819
|
-
const validation = await validateManifests(yamlPath
|
|
826
|
+
// PRD #359: Uses unified plugin registry for kubectl operations
|
|
827
|
+
const validation = await validateManifests(yamlPath);
|
|
820
828
|
if (validation.valid) {
|
|
821
829
|
logger.info('Manifest validation successful', {
|
|
822
830
|
attempt,
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -11,4 +11,5 @@ export { DEPLOYMANIFESTS_TOOL_NAME, DEPLOYMANIFESTS_TOOL_DESCRIPTION, DEPLOYMANI
|
|
|
11
11
|
export { ORGANIZATIONAL_DATA_TOOL_NAME, ORGANIZATIONAL_DATA_TOOL_DESCRIPTION, ORGANIZATIONAL_DATA_TOOL_INPUT_SCHEMA, handleOrganizationalDataTool, } from './organizational-data';
|
|
12
12
|
export { REMEDIATE_TOOL_NAME, REMEDIATE_TOOL_DESCRIPTION, REMEDIATE_TOOL_INPUT_SCHEMA, handleRemediateTool, } from './remediate';
|
|
13
13
|
export { PROJECT_SETUP_TOOL_NAME, PROJECT_SETUP_TOOL_DESCRIPTION, PROJECT_SETUP_TOOL_INPUT_SCHEMA, handleProjectSetupTool, } from './project-setup';
|
|
14
|
+
export { MANAGE_KNOWLEDGE_TOOL_NAME, MANAGE_KNOWLEDGE_TOOL_DESCRIPTION, MANAGE_KNOWLEDGE_TOOL_INPUT_SCHEMA, handleManageKnowledgeTool, type ManageKnowledgeInput, } from './manage-knowledge';
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,wBAAwB,EACxB,+BAA+B,EAC/B,gCAAgC,EAChC,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,wBAAwB,EACxB,+BAA+B,EAC/B,gCAAgC,EAChC,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,2BAA2B,EAC3B,kCAAkC,EAClC,mCAAmC,EACnC,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,yBAAyB,EACzB,gCAAgC,EAChC,iCAAiC,EACjC,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,6BAA6B,EAC7B,oCAAoC,EACpC,qCAAqC,EACrC,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,+BAA+B,EAC/B,sBAAsB,GACvB,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,wBAAwB,EACxB,+BAA+B,EAC/B,gCAAgC,EAChC,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,wBAAwB,EACxB,+BAA+B,EAC/B,gCAAgC,EAChC,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,2BAA2B,EAC3B,kCAAkC,EAClC,mCAAmC,EACnC,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,yBAAyB,EACzB,gCAAgC,EAChC,iCAAiC,EACjC,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,6BAA6B,EAC7B,oCAAoC,EACpC,qCAAqC,EACrC,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,+BAA+B,EAC/B,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,EACjC,kCAAkC,EAClC,yBAAyB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Centralized exports for all available tools (direct handlers)
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.handleProjectSetupTool = exports.PROJECT_SETUP_TOOL_INPUT_SCHEMA = exports.PROJECT_SETUP_TOOL_DESCRIPTION = exports.PROJECT_SETUP_TOOL_NAME = exports.handleRemediateTool = exports.REMEDIATE_TOOL_INPUT_SCHEMA = exports.REMEDIATE_TOOL_DESCRIPTION = exports.REMEDIATE_TOOL_NAME = exports.handleOrganizationalDataTool = exports.ORGANIZATIONAL_DATA_TOOL_INPUT_SCHEMA = exports.ORGANIZATIONAL_DATA_TOOL_DESCRIPTION = exports.ORGANIZATIONAL_DATA_TOOL_NAME = exports.handleDeployManifestsTool = exports.DEPLOYMANIFESTS_TOOL_INPUT_SCHEMA = exports.DEPLOYMANIFESTS_TOOL_DESCRIPTION = exports.DEPLOYMANIFESTS_TOOL_NAME = exports.handleGenerateManifestsTool = exports.GENERATEMANIFESTS_TOOL_INPUT_SCHEMA = exports.GENERATEMANIFESTS_TOOL_DESCRIPTION = exports.GENERATEMANIFESTS_TOOL_NAME = exports.handleAnswerQuestionTool = exports.ANSWERQUESTION_TOOL_INPUT_SCHEMA = exports.ANSWERQUESTION_TOOL_DESCRIPTION = exports.ANSWERQUESTION_TOOL_NAME = exports.handleChooseSolutionTool = exports.CHOOSESOLUTION_TOOL_INPUT_SCHEMA = exports.CHOOSESOLUTION_TOOL_DESCRIPTION = exports.CHOOSESOLUTION_TOOL_NAME = exports.handleRecommendTool = exports.RECOMMEND_TOOL_INPUT_SCHEMA = exports.RECOMMEND_TOOL_DESCRIPTION = exports.RECOMMEND_TOOL_NAME = void 0;
|
|
8
|
+
exports.handleManageKnowledgeTool = exports.MANAGE_KNOWLEDGE_TOOL_INPUT_SCHEMA = exports.MANAGE_KNOWLEDGE_TOOL_DESCRIPTION = exports.MANAGE_KNOWLEDGE_TOOL_NAME = exports.handleProjectSetupTool = exports.PROJECT_SETUP_TOOL_INPUT_SCHEMA = exports.PROJECT_SETUP_TOOL_DESCRIPTION = exports.PROJECT_SETUP_TOOL_NAME = exports.handleRemediateTool = exports.REMEDIATE_TOOL_INPUT_SCHEMA = exports.REMEDIATE_TOOL_DESCRIPTION = exports.REMEDIATE_TOOL_NAME = exports.handleOrganizationalDataTool = exports.ORGANIZATIONAL_DATA_TOOL_INPUT_SCHEMA = exports.ORGANIZATIONAL_DATA_TOOL_DESCRIPTION = exports.ORGANIZATIONAL_DATA_TOOL_NAME = exports.handleDeployManifestsTool = exports.DEPLOYMANIFESTS_TOOL_INPUT_SCHEMA = exports.DEPLOYMANIFESTS_TOOL_DESCRIPTION = exports.DEPLOYMANIFESTS_TOOL_NAME = exports.handleGenerateManifestsTool = exports.GENERATEMANIFESTS_TOOL_INPUT_SCHEMA = exports.GENERATEMANIFESTS_TOOL_DESCRIPTION = exports.GENERATEMANIFESTS_TOOL_NAME = exports.handleAnswerQuestionTool = exports.ANSWERQUESTION_TOOL_INPUT_SCHEMA = exports.ANSWERQUESTION_TOOL_DESCRIPTION = exports.ANSWERQUESTION_TOOL_NAME = exports.handleChooseSolutionTool = exports.CHOOSESOLUTION_TOOL_INPUT_SCHEMA = exports.CHOOSESOLUTION_TOOL_DESCRIPTION = exports.CHOOSESOLUTION_TOOL_NAME = exports.handleRecommendTool = exports.RECOMMEND_TOOL_INPUT_SCHEMA = exports.RECOMMEND_TOOL_DESCRIPTION = exports.RECOMMEND_TOOL_NAME = void 0;
|
|
9
9
|
// Export direct tool handlers for use in MCP server and CLI
|
|
10
10
|
var recommend_1 = require("./recommend");
|
|
11
11
|
Object.defineProperty(exports, "RECOMMEND_TOOL_NAME", { enumerable: true, get: function () { return recommend_1.RECOMMEND_TOOL_NAME; } });
|
|
@@ -47,3 +47,8 @@ Object.defineProperty(exports, "PROJECT_SETUP_TOOL_NAME", { enumerable: true, ge
|
|
|
47
47
|
Object.defineProperty(exports, "PROJECT_SETUP_TOOL_DESCRIPTION", { enumerable: true, get: function () { return project_setup_1.PROJECT_SETUP_TOOL_DESCRIPTION; } });
|
|
48
48
|
Object.defineProperty(exports, "PROJECT_SETUP_TOOL_INPUT_SCHEMA", { enumerable: true, get: function () { return project_setup_1.PROJECT_SETUP_TOOL_INPUT_SCHEMA; } });
|
|
49
49
|
Object.defineProperty(exports, "handleProjectSetupTool", { enumerable: true, get: function () { return project_setup_1.handleProjectSetupTool; } });
|
|
50
|
+
var manage_knowledge_1 = require("./manage-knowledge");
|
|
51
|
+
Object.defineProperty(exports, "MANAGE_KNOWLEDGE_TOOL_NAME", { enumerable: true, get: function () { return manage_knowledge_1.MANAGE_KNOWLEDGE_TOOL_NAME; } });
|
|
52
|
+
Object.defineProperty(exports, "MANAGE_KNOWLEDGE_TOOL_DESCRIPTION", { enumerable: true, get: function () { return manage_knowledge_1.MANAGE_KNOWLEDGE_TOOL_DESCRIPTION; } });
|
|
53
|
+
Object.defineProperty(exports, "MANAGE_KNOWLEDGE_TOOL_INPUT_SCHEMA", { enumerable: true, get: function () { return manage_knowledge_1.MANAGE_KNOWLEDGE_TOOL_INPUT_SCHEMA; } });
|
|
54
|
+
Object.defineProperty(exports, "handleManageKnowledgeTool", { enumerable: true, get: function () { return manage_knowledge_1.handleManageKnowledgeTool; } });
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Knowledge Base Management Tool
|
|
3
|
+
*
|
|
4
|
+
* MCP tool for managing the knowledge base: ingest documents, search, delete, and retrieve chunks.
|
|
5
|
+
* Documents are chunked (via plugin), embedded, and stored in Qdrant for semantic search.
|
|
6
|
+
*
|
|
7
|
+
* PRD #356: Knowledge Base System
|
|
8
|
+
*/
|
|
9
|
+
import { z } from 'zod';
|
|
10
|
+
import { Logger } from '../core/error-handling';
|
|
11
|
+
import { DotAI } from '../core/index';
|
|
12
|
+
import { KnowledgeSearchResultItem } from '../core/knowledge-types';
|
|
13
|
+
export declare const MANAGE_KNOWLEDGE_TOOL_NAME = "manageKnowledge";
|
|
14
|
+
export declare const MANAGE_KNOWLEDGE_TOOL_DESCRIPTION: string;
|
|
15
|
+
export declare const MANAGE_KNOWLEDGE_TOOL_INPUT_SCHEMA: {
|
|
16
|
+
operation: z.ZodEnum<{
|
|
17
|
+
search: "search";
|
|
18
|
+
ingest: "ingest";
|
|
19
|
+
deleteByUri: "deleteByUri";
|
|
20
|
+
}>;
|
|
21
|
+
content: z.ZodOptional<z.ZodString>;
|
|
22
|
+
uri: z.ZodOptional<z.ZodString>;
|
|
23
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
24
|
+
query: z.ZodOptional<z.ZodString>;
|
|
25
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
26
|
+
uriFilter: z.ZodOptional<z.ZodString>;
|
|
27
|
+
interaction_id: z.ZodOptional<z.ZodString>;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Input type for knowledge management tool
|
|
31
|
+
*/
|
|
32
|
+
export interface ManageKnowledgeInput {
|
|
33
|
+
operation: 'ingest' | 'search' | 'deleteByUri';
|
|
34
|
+
content?: string;
|
|
35
|
+
uri?: string;
|
|
36
|
+
metadata?: Record<string, unknown>;
|
|
37
|
+
query?: string;
|
|
38
|
+
limit?: number;
|
|
39
|
+
uriFilter?: string;
|
|
40
|
+
interaction_id?: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Result type for the reusable search function
|
|
44
|
+
*/
|
|
45
|
+
export interface SearchKnowledgeBaseResult {
|
|
46
|
+
success: boolean;
|
|
47
|
+
chunks: KnowledgeSearchResultItem[];
|
|
48
|
+
totalMatches: number;
|
|
49
|
+
error?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Reusable knowledge base search function.
|
|
53
|
+
* Can be called from MCP tool handler or HTTP endpoints.
|
|
54
|
+
*
|
|
55
|
+
* @param params Search parameters
|
|
56
|
+
* @returns Search results with chunks or error
|
|
57
|
+
*/
|
|
58
|
+
export declare function searchKnowledgeBase(params: {
|
|
59
|
+
query: string;
|
|
60
|
+
limit?: number;
|
|
61
|
+
uriFilter?: string;
|
|
62
|
+
}): Promise<SearchKnowledgeBaseResult>;
|
|
63
|
+
/**
|
|
64
|
+
* MCP response format with content array
|
|
65
|
+
*/
|
|
66
|
+
interface McpToolResponse {
|
|
67
|
+
content: Array<{
|
|
68
|
+
type: 'text';
|
|
69
|
+
text: string;
|
|
70
|
+
}>;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Main tool handler - routes to appropriate operation handler
|
|
74
|
+
*/
|
|
75
|
+
export declare function handleManageKnowledgeTool(args: ManageKnowledgeInput, _dotAI: DotAI | null, logger: Logger, requestId: string): Promise<McpToolResponse>;
|
|
76
|
+
export {};
|
|
77
|
+
//# sourceMappingURL=manage-knowledge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manage-knowledge.d.ts","sourceRoot":"","sources":["../../src/tools/manage-knowledge.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAGtC,OAAO,EAIL,yBAAyB,EAE1B,MAAM,yBAAyB,CAAC;AAQjC,eAAO,MAAM,0BAA0B,oBAAoB,CAAC;AAC5D,eAAO,MAAM,iCAAiC,QAKgB,CAAC;AAG/D,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;CAkC9C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAiPD;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,yBAAyB,EAAE,CAAC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CA4HrC;AA2ND;;GAEG;AACH,UAAU,eAAe;IACvB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAgBD;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,oBAAoB,EAC1B,MAAM,EAAE,KAAK,GAAG,IAAI,EACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CA8B1B"}
|