@vfarcic/dot-ai 1.0.3 → 1.1.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/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 +490 -199
- 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 +4 -4
- package/dist/interfaces/rest-registry.d.ts.map +1 -1
- package/dist/interfaces/rest-registry.js +6 -5
- 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 +177 -0
- package/dist/interfaces/schemas/common.d.ts.map +1 -0
- package/dist/interfaces/schemas/common.js +102 -0
- package/dist/interfaces/schemas/events.d.ts +131 -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 +210 -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 +82 -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 +191 -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 +378 -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 +90 -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 +194 -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 +373 -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 +28 -2
- package/dist/tools/prompts.d.ts.map +1 -1
- 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 +11 -5
- package/prompts/knowledge-ask.md +29 -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
package/dist/core/workflow.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export interface WorkflowSpec {
|
|
|
7
7
|
app?: string;
|
|
8
8
|
image?: string;
|
|
9
9
|
replicas?: number | string;
|
|
10
|
-
[key: string]:
|
|
10
|
+
[key: string]: unknown;
|
|
11
11
|
}
|
|
12
12
|
export interface WorkflowExecution {
|
|
13
13
|
id: string;
|
|
@@ -18,7 +18,7 @@ export interface WorkflowExecution {
|
|
|
18
18
|
export interface WorkflowStep {
|
|
19
19
|
name: string;
|
|
20
20
|
status: 'pending' | 'running' | 'completed' | 'failed';
|
|
21
|
-
output?:
|
|
21
|
+
output?: unknown;
|
|
22
22
|
error?: string;
|
|
23
23
|
}
|
|
24
24
|
export interface WorkflowTemplate {
|
|
@@ -31,11 +31,11 @@ export interface TemplateParameter {
|
|
|
31
31
|
type: string;
|
|
32
32
|
required: boolean;
|
|
33
33
|
description: string;
|
|
34
|
-
default?:
|
|
34
|
+
default?: unknown;
|
|
35
35
|
}
|
|
36
36
|
export interface TemplateParams {
|
|
37
37
|
template: string;
|
|
38
|
-
parameters: Record<string,
|
|
38
|
+
parameters: Record<string, unknown>;
|
|
39
39
|
}
|
|
40
40
|
export interface RollbackResult {
|
|
41
41
|
success: boolean;
|
|
@@ -63,7 +63,10 @@ export declare class WorkflowEngine {
|
|
|
63
63
|
requirements?: string;
|
|
64
64
|
}): Promise<string>;
|
|
65
65
|
transitionTo(state: string): Promise<string>;
|
|
66
|
-
executePhase(): Promise<
|
|
66
|
+
executePhase(): Promise<{
|
|
67
|
+
phase: string;
|
|
68
|
+
status: string;
|
|
69
|
+
}>;
|
|
67
70
|
getCurrentPhase(): string;
|
|
68
71
|
isInitialized(): boolean;
|
|
69
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/core/workflow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/core/workflow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACvD,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACvD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,iBAAiB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,UAAU,CAA6C;IAC/D,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,WAAW,CAAkB;;IAOrC,OAAO,CAAC,mBAAmB;IAwBrB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,wBAAwB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IASnE,OAAO,CAAC,YAAY;IAWd,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;YA0B/C,YAAY;IAoB1B,OAAO,CAAC,aAAa;IAWf,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAUtD,qBAAqB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAIpD,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBjE,OAAO,CAAC,UAAU;IAIZ,kBAAkB,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAWvF,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK5C,YAAY,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAKhE,eAAe,IAAI,MAAM;IAIzB,aAAa,IAAI,OAAO;CAGzB"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
export interface DatasetSample {
|
|
8
8
|
input: {
|
|
9
9
|
issue: string;
|
|
10
|
-
[key: string]:
|
|
10
|
+
[key: string]: unknown;
|
|
11
11
|
};
|
|
12
12
|
output: string;
|
|
13
13
|
performance: {
|
|
@@ -52,14 +52,20 @@ export interface ModelResponse {
|
|
|
52
52
|
issue?: string;
|
|
53
53
|
interaction_count?: number;
|
|
54
54
|
failure_analysis?: {
|
|
55
|
-
failure_type
|
|
56
|
-
failure_reason
|
|
57
|
-
time_to_failure
|
|
55
|
+
failure_type?: string;
|
|
56
|
+
failure_reason?: string;
|
|
57
|
+
time_to_failure?: number;
|
|
58
|
+
interaction_number?: number;
|
|
59
|
+
issue?: string;
|
|
60
|
+
[key: string]: unknown;
|
|
58
61
|
};
|
|
59
62
|
all_failures?: Array<{
|
|
60
|
-
failure_type
|
|
61
|
-
failure_reason
|
|
62
|
-
time_to_failure
|
|
63
|
+
failure_type?: string;
|
|
64
|
+
failure_reason?: string;
|
|
65
|
+
time_to_failure?: number;
|
|
66
|
+
interaction_number?: number;
|
|
67
|
+
issue?: string;
|
|
68
|
+
[key: string]: unknown;
|
|
63
69
|
}>;
|
|
64
70
|
};
|
|
65
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset-analyzer.d.ts","sourceRoot":"","sources":["../../src/evaluation/dataset-analyzer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"dataset-analyzer.d.ts","sourceRoot":"","sources":["../../src/evaluation/dataset-analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* - Used by both integration tests and evaluation framework
|
|
8
8
|
*/
|
|
9
9
|
export interface StandardEvalSample {
|
|
10
|
-
input: Record<string,
|
|
11
|
-
ideal:
|
|
10
|
+
input: Record<string, unknown>;
|
|
11
|
+
ideal: unknown;
|
|
12
12
|
metadata: {
|
|
13
13
|
category: string;
|
|
14
14
|
complexity: 'low' | 'medium' | 'high';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/evaluation/datasets/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/evaluation/datasets/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;QACtC,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,aAAa,GACrB,kBAAkB,EAAE,CA+CtB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAEtF"}
|
|
@@ -126,8 +126,8 @@ ${overallAssessment ? overallAssessment.reliability_ranking
|
|
|
126
126
|
${overallAssessment ? `
|
|
127
127
|
- **Primary Choice**: ${overallAssessment.production_recommendations.primary}
|
|
128
128
|
- **Secondary Option**: ${overallAssessment.production_recommendations.secondary}
|
|
129
|
-
- **Avoid for Production**: ${overallAssessment.production_recommendations.avoid
|
|
130
|
-
${Object.keys(overallAssessment.production_recommendations.specialized_use).length > 0 ?
|
|
129
|
+
- **Avoid for Production**: ${overallAssessment.production_recommendations.avoid?.length ? overallAssessment.production_recommendations.avoid.join(', ') : 'None'}
|
|
130
|
+
${overallAssessment.production_recommendations.specialized_use && Object.keys(overallAssessment.production_recommendations.specialized_use).length > 0 ?
|
|
131
131
|
'\n**Specialized Use Cases:**\n' + Object.entries(overallAssessment.production_recommendations.specialized_use)
|
|
132
132
|
.map(([useCase, model]) => `- **${useCase}**: ${model}`)
|
|
133
133
|
.join('\n') : ''}
|
|
@@ -145,7 +145,7 @@ ${Array.from(modelAverages.entries())
|
|
|
145
145
|
## Detailed Scenario Results
|
|
146
146
|
|
|
147
147
|
${results.map((result, index) => {
|
|
148
|
-
const scenarioTitle = result.key.replace(/_/g, ' ').replace(/(remediation|recommendation) comparative /, '').toUpperCase();
|
|
148
|
+
const scenarioTitle = (result.key || 'unknown').replace(/_/g, ' ').replace(/(remediation|recommendation) comparative /, '').toUpperCase();
|
|
149
149
|
return `### ${index + 1}. ${scenarioTitle}
|
|
150
150
|
|
|
151
151
|
**Winner**: ${result.bestModel} (Score: ${result.score})
|
|
@@ -170,7 +170,7 @@ ${overallAssessment.key_insights}
|
|
|
170
170
|
### Recommended Selection Strategy
|
|
171
171
|
- **For Production Use**: Choose ${overallAssessment.production_recommendations.primary}
|
|
172
172
|
- **For Secondary Option**: Consider ${overallAssessment.production_recommendations.secondary}
|
|
173
|
-
${overallAssessment.production_recommendations.avoid
|
|
173
|
+
${overallAssessment.production_recommendations.avoid?.length ?
|
|
174
174
|
`- **Avoid**: ${overallAssessment.production_recommendations.avoid.join(', ')} (reliability concerns)` : ''}
|
|
175
175
|
|
|
176
176
|
### Decision Framework
|
|
@@ -186,7 +186,9 @@ Report generated by DevOps AI Toolkit Comparative Evaluation System
|
|
|
186
186
|
}
|
|
187
187
|
function loadModelMetadata() {
|
|
188
188
|
try {
|
|
189
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports -- Dynamic require for CLI script
|
|
189
190
|
const fs = require('fs');
|
|
191
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports -- Dynamic require for CLI script
|
|
190
192
|
const path = require('path');
|
|
191
193
|
const metadataPath = path.join(__dirname, 'model-metadata.json');
|
|
192
194
|
if (!fs.existsSync(metadataPath)) {
|
|
@@ -255,7 +257,7 @@ async function detectAvailableDatasets(datasetsDir, filterType) {
|
|
|
255
257
|
}
|
|
256
258
|
return result;
|
|
257
259
|
}
|
|
258
|
-
catch
|
|
260
|
+
catch {
|
|
259
261
|
console.warn('Could not read datasets directory, assuming no datasets available');
|
|
260
262
|
const result = {};
|
|
261
263
|
for (const type of Object.keys(EVALUATOR_CONFIG)) {
|
|
@@ -64,7 +64,7 @@ export declare abstract class BaseComparativeEvaluator {
|
|
|
64
64
|
/**
|
|
65
65
|
* Conduct final assessment across all scenarios to determine overall winner
|
|
66
66
|
*/
|
|
67
|
-
conductFinalAssessment(scenarioResults: ComparativeEvaluationScore[]): Promise<
|
|
67
|
+
conductFinalAssessment(scenarioResults: ComparativeEvaluationScore[]): Promise<Record<string, unknown>>;
|
|
68
68
|
/**
|
|
69
69
|
* Evaluate a single scenario comparing all available models
|
|
70
70
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-comparative.d.ts","sourceRoot":"","sources":["../../../src/evaluation/evaluators/base-comparative.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAKtE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAsE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEpI,MAAM,WAAW,2BAA2B;IAC1C,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE;QACnC,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,0BAA2B,SAAQ,eAAe;IACjE,aAAa,EAAE,KAAK,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,8BAAsB,wBAAwB;IAC5C,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IACnD,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE7C,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IACzC,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAC3C,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,QAAQ,EAAE,kBAAkB,CAAC;gBAE3B,UAAU,CAAC,EAAE,MAAM;IAkB/B;;OAEG;IACH,SAAS,CAAC,gBAAgB;IAK1B;;;OAGG;IACG,oBAAoB,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAkBnE;;OAEG;IACG,sBAAsB,CAAC,eAAe,EAAE,0BAA0B,EAAE,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"base-comparative.d.ts","sourceRoot":"","sources":["../../../src/evaluation/evaluators/base-comparative.ts"],"names":[],"mappings":"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"}
|
|
@@ -85,8 +85,9 @@ class BaseComparativeEvaluator {
|
|
|
85
85
|
});
|
|
86
86
|
// Extract JSON from AI response
|
|
87
87
|
const finalAssessment = (0, platform_utils_1.extractJsonFromAIResponse)(response.content);
|
|
88
|
+
const overallAssessment = finalAssessment.overall_assessment;
|
|
88
89
|
console.log(`✅ Final Assessment Complete for ${this.toolName}`);
|
|
89
|
-
console.log(`🏆 Overall Winner: ${
|
|
90
|
+
console.log(`🏆 Overall Winner: ${overallAssessment?.winner || 'Unknown'}`);
|
|
90
91
|
return finalAssessment;
|
|
91
92
|
}
|
|
92
93
|
catch (error) {
|
|
@@ -104,8 +105,8 @@ class BaseComparativeEvaluator {
|
|
|
104
105
|
let reliabilityContext = '✅ Completed successfully';
|
|
105
106
|
if (modelResponse.metadata.failure_analysis) {
|
|
106
107
|
const failure = modelResponse.metadata.failure_analysis;
|
|
107
|
-
reliabilityContext = `⚠️ **${failure.failure_type.toUpperCase()} FAILURE**: ${failure.failure_reason}`;
|
|
108
|
-
if (failure.failure_type === 'timeout') {
|
|
108
|
+
reliabilityContext = `⚠️ **${(failure.failure_type || 'unknown').toUpperCase()} FAILURE**: ${failure.failure_reason || 'Unknown reason'}`;
|
|
109
|
+
if (failure.failure_type === 'timeout' && failure.time_to_failure) {
|
|
109
110
|
reliabilityContext += `\n- **Time to failure**: ${Math.round(failure.time_to_failure / 1000)}s (${Math.round(failure.time_to_failure / 60000)}min)`;
|
|
110
111
|
reliabilityContext += `\n- **Impact**: Model could not complete full workflow within time limit`;
|
|
111
112
|
}
|
|
@@ -13,10 +13,10 @@ export interface EvaluationScore {
|
|
|
13
13
|
confidence?: number;
|
|
14
14
|
}
|
|
15
15
|
export interface EvaluationSample {
|
|
16
|
-
input: Record<string,
|
|
16
|
+
input: Record<string, unknown>;
|
|
17
17
|
output: string;
|
|
18
|
-
ideal?:
|
|
19
|
-
metadata?: Record<string,
|
|
18
|
+
ideal?: unknown;
|
|
19
|
+
metadata?: Record<string, unknown>;
|
|
20
20
|
}
|
|
21
21
|
export interface PerformanceMetrics {
|
|
22
22
|
duration_ms: number;
|
|
@@ -40,8 +40,8 @@ export interface EvaluationResult {
|
|
|
40
40
|
quality_per_dollar?: number;
|
|
41
41
|
quality_per_token: number;
|
|
42
42
|
};
|
|
43
|
-
input: Record<string,
|
|
43
|
+
input: Record<string, unknown>;
|
|
44
44
|
output: string;
|
|
45
|
-
ideal?:
|
|
45
|
+
ideal?: unknown;
|
|
46
46
|
}
|
|
47
47
|
//# sourceMappingURL=base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/evaluation/evaluators/base.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/evaluation/evaluators/base.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAGlB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAGhD,WAAW,EAAE,kBAAkB,CAAC;IAGhC,UAAU,EAAE;QACV,kBAAkB,EAAE,MAAM,CAAC;QAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IAGF,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB"}
|
|
@@ -61,7 +61,7 @@ class CapabilityComparativeEvaluator extends base_comparative_js_1.BaseComparati
|
|
|
61
61
|
.replace('{models}', modelList);
|
|
62
62
|
}
|
|
63
63
|
extractResourceName(input) {
|
|
64
|
-
if (input?.issue) {
|
|
64
|
+
if (input?.issue && typeof input.issue === 'string') {
|
|
65
65
|
const match = input.issue.match(/resource: (.+)/);
|
|
66
66
|
return match ? match[1] : 'unknown';
|
|
67
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-synthesizer.d.ts","sourceRoot":"","sources":["../../src/evaluation/platform-synthesizer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAItE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,OAAO,EAAE;QACP,6BAA6B,EAAE,MAAM,CAAC;QACtC,8BAA8B,EAAE,MAAM,CAAC;KACxC,CAAC;IACF,YAAY,EAAE;QACZ,cAAc,EAAE,MAAM,CAAC;QACvB,yBAAyB,EAAE,OAAO,CAAC;KACpC,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,gBAAgB,EAAE,CAAC;IACnC,cAAc,EAAE,gBAAgB,EAAE,CAAC;IACnC,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,eAAe,GAAG,aAAa,GAAG,YAAY,GAAG,UAAU,CAAC;IACtE,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"platform-synthesizer.d.ts","sourceRoot":"","sources":["../../src/evaluation/platform-synthesizer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAItE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,OAAO,EAAE;QACP,6BAA6B,EAAE,MAAM,CAAC;QACtC,8BAA8B,EAAE,MAAM,CAAC;KACxC,CAAC;IACF,YAAY,EAAE;QACZ,cAAc,EAAE,MAAM,CAAC;QACvB,yBAAyB,EAAE,OAAO,CAAC;KACpC,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,gBAAgB,EAAE,CAAC;IACnC,cAAc,EAAE,gBAAgB,EAAE,CAAC;IACnC,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,eAAe,GAAG,aAAa,GAAG,YAAY,GAAG,UAAU,CAAC;IACtE,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAoDD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,UAAU,CAAS;gBAEf,UAAU,EAAE,cAAc,EAAE,UAAU,SAA+B;IAK3E,4BAA4B,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAAE,UAAU,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IA6CpG,OAAO,CAAC,gBAAgB;YAKV,cAAc;YAyBd,2BAA2B;IA8DzC,OAAO,CAAC,0BAA0B;IA2ElC,OAAO,CAAC,wBAAwB;IAiDhC,OAAO,CAAC,4BAA4B;YA0CtB,wBAAwB;IAoBtC,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,yBAAyB;IAejC,OAAO,CAAC,iCAAiC;IASzC,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;YACW,iBAAiB;IA8CzB,mBAAmB,CACvB,eAAe,EAAE,MAAM,EACvB,UAAU,SAAiD,GAC1D,OAAO,CAAC,IAAI,CAAC;CAWjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/interfaces/mcp.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/interfaces/mcp.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAgEtC,OAAO,EAAgB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AA8CvD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;IACvC,+DAA+D;IAC/D,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,UAAU,CAAC,CAAkC;IACrD,OAAO,CAAC,aAAa,CAAC,CAAgC;IACtD,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,aAAa,CAAC,CAAgB;gBAE1B,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe;IA6DjD;;OAEG;IACH,gBAAgB,IAAI,aAAa,GAAG,SAAS;IAI7C;;OAEG;IACH,OAAO,CAAC,YAAY;IAqCpB;;OAEG;IACH,OAAO,CAAC,aAAa;IA8LrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAuCvB,OAAO,CAAC,qBAAqB;YAgBf,qBAAqB;IAyBnC,OAAO,CAAC,iBAAiB;IAInB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YASd,kBAAkB;YA+HlB,gBAAgB;IAexB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B,OAAO,IAAI,OAAO;CAGnB"}
|
package/dist/interfaces/mcp.js
CHANGED
|
@@ -20,6 +20,7 @@ const remediate_1 = require("../tools/remediate");
|
|
|
20
20
|
const operate_1 = require("../tools/operate");
|
|
21
21
|
const project_setup_1 = require("../tools/project-setup");
|
|
22
22
|
const query_1 = require("../tools/query");
|
|
23
|
+
const manage_knowledge_1 = require("../tools/manage-knowledge");
|
|
23
24
|
const prompts_1 = require("../tools/prompts");
|
|
24
25
|
const rest_registry_1 = require("./rest-registry");
|
|
25
26
|
const rest_api_1 = require("./rest-api");
|
|
@@ -28,6 +29,7 @@ const error_response_1 = require("./error-response");
|
|
|
28
29
|
const tracing_1 = require("../core/tracing");
|
|
29
30
|
const api_1 = require("@opentelemetry/api");
|
|
30
31
|
const telemetry_1 = require("../core/telemetry");
|
|
32
|
+
const plugin_registry_1 = require("../core/plugin-registry");
|
|
31
33
|
class MCPServer {
|
|
32
34
|
server;
|
|
33
35
|
dotAI;
|
|
@@ -46,10 +48,7 @@ class MCPServer {
|
|
|
46
48
|
this.config = config;
|
|
47
49
|
this.logger = new error_handling_1.ConsoleLogger('MCPServer');
|
|
48
50
|
this.pluginManager = config.pluginManager;
|
|
49
|
-
// PRD #
|
|
50
|
-
if (this.pluginManager) {
|
|
51
|
-
this.dotAI.setPluginManager(this.pluginManager);
|
|
52
|
-
}
|
|
51
|
+
// PRD #359: Plugin manager connected to unified registry in server.ts
|
|
53
52
|
// Create McpServer instance
|
|
54
53
|
this.server = new mcp_js_1.McpServer({
|
|
55
54
|
name: config.name,
|
|
@@ -109,15 +108,17 @@ class MCPServer {
|
|
|
109
108
|
return await (0, tracing_1.withToolTracing)(name, args, handler, { mcpClient: { name: 'http', version: 'rest-api' } });
|
|
110
109
|
};
|
|
111
110
|
// Register MCP handler with MCP server
|
|
111
|
+
/* eslint-disable @typescript-eslint/no-explicit-any -- MCP SDK type compatibility */
|
|
112
112
|
this.server.registerTool(name, {
|
|
113
113
|
description,
|
|
114
|
-
inputSchema
|
|
114
|
+
inputSchema: inputSchema
|
|
115
115
|
}, mcpTracedHandler);
|
|
116
|
+
/* eslint-enable @typescript-eslint/no-explicit-any */
|
|
116
117
|
// Register REST handler with REST registry
|
|
117
118
|
this.restRegistry.registerTool({
|
|
118
119
|
name,
|
|
119
120
|
description,
|
|
120
|
-
inputSchema,
|
|
121
|
+
inputSchema: inputSchema,
|
|
121
122
|
handler: restTracedHandler,
|
|
122
123
|
category,
|
|
123
124
|
tags
|
|
@@ -146,24 +147,24 @@ class MCPServer {
|
|
|
146
147
|
this.logger.info(`Processing ${version_1.VERSION_TOOL_NAME} tool request`, {
|
|
147
148
|
requestId,
|
|
148
149
|
});
|
|
149
|
-
return await (0, version_1.handleVersionTool)(args, this.logger, requestId
|
|
150
|
+
return await (0, version_1.handleVersionTool)(args, this.logger, requestId);
|
|
150
151
|
}, 'System', ['version', 'diagnostics', 'status']);
|
|
151
152
|
// Register organizational-data tool
|
|
152
153
|
// PRD #343: pluginManager needed for capability scanning kubectl operations
|
|
153
154
|
this.registerTool(organizational_data_1.ORGANIZATIONAL_DATA_TOOL_NAME, organizational_data_1.ORGANIZATIONAL_DATA_TOOL_DESCRIPTION, organizational_data_1.ORGANIZATIONAL_DATA_TOOL_INPUT_SCHEMA, async (args) => {
|
|
154
155
|
const requestId = this.generateRequestId();
|
|
155
156
|
this.logger.info(`Processing ${organizational_data_1.ORGANIZATIONAL_DATA_TOOL_NAME} tool request`, { requestId });
|
|
156
|
-
return await (0, organizational_data_1.handleOrganizationalDataTool)(args, this.dotAI, this.logger, requestId
|
|
157
|
+
return await (0, organizational_data_1.handleOrganizationalDataTool)(args, this.dotAI, this.logger, requestId);
|
|
157
158
|
}, 'Management', ['patterns', 'policies', 'capabilities', 'data']);
|
|
158
159
|
// Register remediate tool
|
|
159
160
|
// PRD #343: pluginManager is required - all kubectl operations go through plugin
|
|
160
161
|
this.registerTool(remediate_1.REMEDIATE_TOOL_NAME, remediate_1.REMEDIATE_TOOL_DESCRIPTION, remediate_1.REMEDIATE_TOOL_INPUT_SCHEMA, async (args) => {
|
|
161
162
|
const requestId = this.generateRequestId();
|
|
162
163
|
this.logger.info(`Processing ${remediate_1.REMEDIATE_TOOL_NAME} tool request`, { requestId });
|
|
163
|
-
if (!
|
|
164
|
+
if (!(0, plugin_registry_1.isPluginInitialized)()) {
|
|
164
165
|
throw new Error('Plugin system not available. Remediate tool requires agentic-tools plugin for kubectl operations.');
|
|
165
166
|
}
|
|
166
|
-
return await (0, remediate_1.handleRemediateTool)(args
|
|
167
|
+
return await (0, remediate_1.handleRemediateTool)(args);
|
|
167
168
|
}, 'Troubleshooting', ['remediation', 'troubleshooting', 'kubernetes', 'analysis']);
|
|
168
169
|
// Register operate tool
|
|
169
170
|
// PRD #343: pluginManager is required - all kubectl operations go through plugin
|
|
@@ -187,9 +188,15 @@ class MCPServer {
|
|
|
187
188
|
this.logger.info(`Processing ${query_1.QUERY_TOOL_NAME} tool request`, { requestId });
|
|
188
189
|
return await (0, query_1.handleQueryTool)(args, this.pluginManager);
|
|
189
190
|
}, 'Intelligence', ['query', 'search', 'discover', 'capabilities', 'cluster']);
|
|
191
|
+
// Register manageKnowledge tool (PRD #356: Knowledge Base System)
|
|
192
|
+
this.registerTool(manage_knowledge_1.MANAGE_KNOWLEDGE_TOOL_NAME, manage_knowledge_1.MANAGE_KNOWLEDGE_TOOL_DESCRIPTION, manage_knowledge_1.MANAGE_KNOWLEDGE_TOOL_INPUT_SCHEMA, async (args) => {
|
|
193
|
+
const requestId = this.generateRequestId();
|
|
194
|
+
this.logger.info(`Processing ${manage_knowledge_1.MANAGE_KNOWLEDGE_TOOL_NAME} tool request`, { requestId });
|
|
195
|
+
return await (0, manage_knowledge_1.handleManageKnowledgeTool)(args, this.dotAI, this.logger, requestId);
|
|
196
|
+
}, 'Knowledge', ['knowledge', 'documents', 'ingest', 'semantic', 'search']);
|
|
190
197
|
// NOTE: Plugin tools (kubectl_*, helm_*, shell_exec) are NOT registered as MCP tools.
|
|
191
198
|
// They are internal implementation details used by built-in tools like remediate/query.
|
|
192
|
-
// Plugin tools
|
|
199
|
+
// Plugin tools are invoked via invokePluginTool() from the unified registry.
|
|
193
200
|
// Only the 7 built-in MCP tools are exposed to clients.
|
|
194
201
|
const builtInTools = [
|
|
195
202
|
recommend_1.RECOMMEND_TOOL_NAME,
|
|
@@ -198,7 +205,8 @@ class MCPServer {
|
|
|
198
205
|
remediate_1.REMEDIATE_TOOL_NAME,
|
|
199
206
|
operate_1.OPERATE_TOOL_NAME,
|
|
200
207
|
project_setup_1.PROJECT_SETUP_TOOL_NAME,
|
|
201
|
-
query_1.QUERY_TOOL_NAME
|
|
208
|
+
query_1.QUERY_TOOL_NAME,
|
|
209
|
+
manage_knowledge_1.MANAGE_KNOWLEDGE_TOOL_NAME
|
|
202
210
|
];
|
|
203
211
|
// Log summary of tool registration
|
|
204
212
|
const pluginToolCount = this.pluginManager?.getDiscoveredTools().length || 0;
|
|
@@ -213,19 +221,21 @@ class MCPServer {
|
|
|
213
221
|
*/
|
|
214
222
|
registerPrompts() {
|
|
215
223
|
// Register prompts/list handler
|
|
224
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- MCP SDK type compatibility
|
|
216
225
|
this.server.server.setRequestHandler(types_js_1.ListPromptsRequestSchema, async (request) => {
|
|
217
226
|
const requestId = this.generateRequestId();
|
|
218
227
|
this.logger.info('Processing prompts/list request', { requestId });
|
|
219
228
|
return await (0, prompts_1.handlePromptsListRequest)(request.params || {}, this.logger, requestId);
|
|
220
229
|
});
|
|
221
230
|
// Register prompts/get handler
|
|
231
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- MCP SDK type compatibility
|
|
222
232
|
this.server.server.setRequestHandler(types_js_1.GetPromptRequestSchema, async (request) => {
|
|
223
233
|
const requestId = this.generateRequestId();
|
|
224
234
|
this.logger.info('Processing prompts/get request', {
|
|
225
235
|
requestId,
|
|
226
236
|
promptName: request.params?.name,
|
|
227
237
|
});
|
|
228
|
-
return await (0, prompts_1.handlePromptsGetRequest)(request.params || {}, this.logger, requestId);
|
|
238
|
+
return await (0, prompts_1.handlePromptsGetRequest)(request.params || { name: '' }, this.logger, requestId);
|
|
229
239
|
});
|
|
230
240
|
this.logger.info('Registered prompts capability with McpServer', {
|
|
231
241
|
endpoints: ['prompts/list', 'prompts/get'],
|
|
@@ -242,7 +252,7 @@ class MCPServer {
|
|
|
242
252
|
}
|
|
243
253
|
else {
|
|
244
254
|
this.logger.info('Using configured AI Provider', {
|
|
245
|
-
type:
|
|
255
|
+
type: aiProvider.getProviderType ? aiProvider.getProviderType() : 'unknown'
|
|
246
256
|
});
|
|
247
257
|
}
|
|
248
258
|
}
|
|
@@ -252,7 +262,8 @@ class MCPServer {
|
|
|
252
262
|
throw new Error('Server does not support createMessage (sampling)');
|
|
253
263
|
}
|
|
254
264
|
return await this.server.server.createMessage({
|
|
255
|
-
|
|
265
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- MCP SDK type compatibility
|
|
266
|
+
messages: messages,
|
|
256
267
|
systemPrompt,
|
|
257
268
|
includeContext: 'none',
|
|
258
269
|
maxTokens: options?.maxTokens || 4096,
|
|
@@ -1,11 +1,51 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* OpenAPI 3.0 Specification Generator
|
|
3
3
|
*
|
|
4
|
-
* Automatically generates OpenAPI 3.0 documentation from the tool registry
|
|
5
|
-
*
|
|
4
|
+
* Automatically generates OpenAPI 3.0 documentation from the tool registry
|
|
5
|
+
* and REST route registry.
|
|
6
|
+
*
|
|
7
|
+
* PRD #354: REST API Route Registry with Auto-Generated OpenAPI and Test Fixtures
|
|
8
|
+
* - Generates paths from RestRouteRegistry for all REST endpoints
|
|
9
|
+
* - Converts Zod schemas to JSON Schema for complete API documentation
|
|
6
10
|
*/
|
|
7
11
|
import { RestToolRegistry } from './rest-registry';
|
|
12
|
+
import { RestRouteRegistry } from './rest-route-registry';
|
|
8
13
|
import { Logger } from '../core/error-handling';
|
|
14
|
+
/**
|
|
15
|
+
* JSON Schema object type for OpenAPI schemas
|
|
16
|
+
*/
|
|
17
|
+
type JsonSchemaObject = {
|
|
18
|
+
type?: string;
|
|
19
|
+
properties?: Record<string, JsonSchemaObject>;
|
|
20
|
+
items?: JsonSchemaObject;
|
|
21
|
+
required?: string[];
|
|
22
|
+
description?: string;
|
|
23
|
+
enum?: unknown[];
|
|
24
|
+
[key: string]: unknown;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* OpenAPI path item structure
|
|
28
|
+
*/
|
|
29
|
+
type OpenApiPathItem = {
|
|
30
|
+
summary?: string;
|
|
31
|
+
description?: string;
|
|
32
|
+
operationId?: string;
|
|
33
|
+
tags?: string[];
|
|
34
|
+
parameters?: unknown[];
|
|
35
|
+
requestBody?: {
|
|
36
|
+
required?: boolean;
|
|
37
|
+
content?: Record<string, {
|
|
38
|
+
schema: JsonSchemaObject;
|
|
39
|
+
}>;
|
|
40
|
+
};
|
|
41
|
+
responses?: Record<string, {
|
|
42
|
+
description: string;
|
|
43
|
+
content?: Record<string, {
|
|
44
|
+
schema: JsonSchemaObject;
|
|
45
|
+
}>;
|
|
46
|
+
}>;
|
|
47
|
+
[key: string]: unknown;
|
|
48
|
+
};
|
|
9
49
|
/**
|
|
10
50
|
* OpenAPI 3.0 specification structure
|
|
11
51
|
*/
|
|
@@ -29,11 +69,21 @@ export interface OpenApiSpec {
|
|
|
29
69
|
url: string;
|
|
30
70
|
description: string;
|
|
31
71
|
}>;
|
|
32
|
-
paths: Record<string,
|
|
72
|
+
paths: Record<string, Record<string, OpenApiPathItem>>;
|
|
33
73
|
components?: {
|
|
34
|
-
schemas?: Record<string,
|
|
35
|
-
responses?: Record<string,
|
|
36
|
-
|
|
74
|
+
schemas?: Record<string, JsonSchemaObject>;
|
|
75
|
+
responses?: Record<string, {
|
|
76
|
+
description: string;
|
|
77
|
+
content?: Record<string, {
|
|
78
|
+
schema: JsonSchemaObject;
|
|
79
|
+
}>;
|
|
80
|
+
}>;
|
|
81
|
+
securitySchemes?: Record<string, {
|
|
82
|
+
type: string;
|
|
83
|
+
scheme?: string;
|
|
84
|
+
bearerFormat?: string;
|
|
85
|
+
description?: string;
|
|
86
|
+
}>;
|
|
37
87
|
};
|
|
38
88
|
tags?: Array<{
|
|
39
89
|
name: string;
|
|
@@ -55,13 +105,15 @@ export interface OpenApiConfig {
|
|
|
55
105
|
* OpenAPI 3.0 specification generator
|
|
56
106
|
*/
|
|
57
107
|
export declare class OpenApiGenerator {
|
|
58
|
-
private
|
|
108
|
+
private toolRegistry;
|
|
109
|
+
private routeRegistry?;
|
|
59
110
|
private logger;
|
|
60
111
|
private config;
|
|
61
112
|
private specCache?;
|
|
62
113
|
private lastCacheUpdate;
|
|
63
114
|
private cacheValidityMs;
|
|
64
|
-
|
|
115
|
+
private schemaCache;
|
|
116
|
+
constructor(toolRegistry: RestToolRegistry, logger: Logger, config?: Partial<OpenApiConfig>, routeRegistry?: RestRouteRegistry);
|
|
65
117
|
/**
|
|
66
118
|
* Generate complete OpenAPI 3.0 specification
|
|
67
119
|
*/
|
|
@@ -75,13 +127,64 @@ export declare class OpenApiGenerator {
|
|
|
75
127
|
*/
|
|
76
128
|
private generateServers;
|
|
77
129
|
/**
|
|
78
|
-
* Generate paths
|
|
130
|
+
* Generate base paths (MCP Protocol endpoints)
|
|
131
|
+
*/
|
|
132
|
+
private generateBasePaths;
|
|
133
|
+
/**
|
|
134
|
+
* Generate paths for MCP tool endpoints
|
|
135
|
+
*/
|
|
136
|
+
private generateToolPaths;
|
|
137
|
+
/**
|
|
138
|
+
* Generate paths from REST route registry
|
|
139
|
+
* PRD #354: Auto-generates OpenAPI paths from registered routes
|
|
140
|
+
*/
|
|
141
|
+
private generateRoutePaths;
|
|
142
|
+
/**
|
|
143
|
+
* Convert Express-style path to OpenAPI path format
|
|
144
|
+
* Example: "/api/v1/visualize/:sessionId" -> "/api/v1/visualize/{sessionId}"
|
|
145
|
+
*/
|
|
146
|
+
private convertPathToOpenApi;
|
|
147
|
+
/**
|
|
148
|
+
* Convert a route definition to an OpenAPI operation object
|
|
149
|
+
*/
|
|
150
|
+
private routeToOpenApiOperation;
|
|
151
|
+
/**
|
|
152
|
+
* Extract path parameter names from a route path
|
|
153
|
+
*/
|
|
154
|
+
private extractPathParams;
|
|
155
|
+
/**
|
|
156
|
+
* Get parameter schema from route's params Zod schema
|
|
157
|
+
*/
|
|
158
|
+
private getParamSchemaFromRoute;
|
|
159
|
+
/**
|
|
160
|
+
* Convert Zod schema to OpenAPI parameters array
|
|
161
|
+
*/
|
|
162
|
+
private zodSchemaToParameters;
|
|
163
|
+
/**
|
|
164
|
+
* Generate unique schema name for a route
|
|
165
|
+
*/
|
|
166
|
+
private getSchemaName;
|
|
167
|
+
/**
|
|
168
|
+
* Get human-readable error description for status code
|
|
169
|
+
*/
|
|
170
|
+
private getErrorDescription;
|
|
171
|
+
/**
|
|
172
|
+
* Convert Zod schema to JSON Schema with caching
|
|
173
|
+
*/
|
|
174
|
+
private zodSchemaToJsonSchema;
|
|
175
|
+
/**
|
|
176
|
+
* Generate base component schemas (shared across all endpoints)
|
|
177
|
+
*/
|
|
178
|
+
private generateBaseSchemas;
|
|
179
|
+
/**
|
|
180
|
+
* Generate schemas for MCP tool endpoints
|
|
79
181
|
*/
|
|
80
|
-
private
|
|
182
|
+
private generateToolSchemas;
|
|
81
183
|
/**
|
|
82
|
-
* Generate
|
|
184
|
+
* Generate schemas from REST route registry
|
|
185
|
+
* PRD #354: Auto-generates OpenAPI schemas from route Zod schemas
|
|
83
186
|
*/
|
|
84
|
-
private
|
|
187
|
+
private generateRouteSchemas;
|
|
85
188
|
/**
|
|
86
189
|
* Generate tags for grouping endpoints
|
|
87
190
|
*/
|
|
@@ -107,4 +210,5 @@ export declare class OpenApiGenerator {
|
|
|
107
210
|
*/
|
|
108
211
|
getConfig(): OpenApiConfig;
|
|
109
212
|
}
|
|
213
|
+
export {};
|
|
110
214
|
//# sourceMappingURL=openapi-generator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi-generator.d.ts","sourceRoot":"","sources":["../../src/interfaces/openapi-generator.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"openapi-generator.d.ts","sourceRoot":"","sources":["../../src/interfaces/openapi-generator.ts"],"names":[],"mappings":"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"}
|