@vfarcic/dot-ai 0.89.0 → 0.91.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 +33 -5
- package/dist/interfaces/mcp.d.ts +7 -1
- package/dist/interfaces/mcp.d.ts.map +1 -1
- package/dist/interfaces/mcp.js +69 -22
- package/dist/interfaces/openapi-generator.d.ts +110 -0
- package/dist/interfaces/openapi-generator.d.ts.map +1 -0
- package/dist/interfaces/openapi-generator.js +468 -0
- package/dist/interfaces/rest-api.d.ts +124 -0
- package/dist/interfaces/rest-api.d.ts.map +1 -0
- package/dist/interfaces/rest-api.js +341 -0
- package/dist/interfaces/rest-registry.d.ts +108 -0
- package/dist/interfaces/rest-registry.d.ts.map +1 -0
- package/dist/interfaces/rest-registry.js +187 -0
- 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/remediate.d.ts +173 -0
- package/dist/tools/remediate.d.ts.map +1 -0
- package/dist/tools/remediate.js +1158 -0
- package/package.json +7 -6
- package/prompts/remediate-final-analysis.md +243 -0
- package/prompts/remediate-investigation.md +196 -0
- package/shared-prompts/deploy.md +23 -0
- package/shared-prompts/prd-create.md +1 -1
- package/shared-prompts/remediate.md +44 -0
- package/shared-prompts/setup.md +0 -23
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Remediate Tool - AI-powered Kubernetes issue analysis and remediation
|
|
3
|
+
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
export declare const REMEDIATE_TOOL_NAME = "remediate";
|
|
6
|
+
export declare const REMEDIATE_TOOL_DESCRIPTION = "AI-powered Kubernetes issue analysis that provides root cause identification and actionable remediation steps. Unlike basic kubectl commands, this tool performs multi-step investigation, correlates cluster data, and generates intelligent solutions. Use when users want to understand WHY something is broken, not just see raw status. Ideal for: troubleshooting failures, diagnosing performance issues, analyzing pod problems, investigating networking/storage issues, or any \"what's wrong\" questions.";
|
|
7
|
+
export declare const SAFE_OPERATIONS: readonly ["get", "describe", "logs", "events", "top", "explain"];
|
|
8
|
+
export type SafeOperation = typeof SAFE_OPERATIONS[number];
|
|
9
|
+
export declare const REMEDIATE_TOOL_INPUT_SCHEMA: {
|
|
10
|
+
issue: z.ZodOptional<z.ZodString>;
|
|
11
|
+
context: z.ZodOptional<z.ZodObject<{
|
|
12
|
+
event: z.ZodOptional<z.ZodAny>;
|
|
13
|
+
logs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
14
|
+
metrics: z.ZodOptional<z.ZodAny>;
|
|
15
|
+
podSpec: z.ZodOptional<z.ZodAny>;
|
|
16
|
+
relatedEvents: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
|
|
17
|
+
}, "strip", z.ZodTypeAny, {
|
|
18
|
+
logs?: string[] | undefined;
|
|
19
|
+
event?: any;
|
|
20
|
+
metrics?: any;
|
|
21
|
+
podSpec?: any;
|
|
22
|
+
relatedEvents?: any[] | undefined;
|
|
23
|
+
}, {
|
|
24
|
+
logs?: string[] | undefined;
|
|
25
|
+
event?: any;
|
|
26
|
+
metrics?: any;
|
|
27
|
+
podSpec?: any;
|
|
28
|
+
relatedEvents?: any[] | undefined;
|
|
29
|
+
}>>;
|
|
30
|
+
mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["manual", "automatic"]>>>;
|
|
31
|
+
confidenceThreshold: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
32
|
+
maxRiskLevel: z.ZodDefault<z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>>;
|
|
33
|
+
executeChoice: z.ZodOptional<z.ZodNumber>;
|
|
34
|
+
sessionId: z.ZodOptional<z.ZodString>;
|
|
35
|
+
executedCommands: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
36
|
+
};
|
|
37
|
+
export interface RemediateInput {
|
|
38
|
+
issue?: string;
|
|
39
|
+
context?: {
|
|
40
|
+
event?: any;
|
|
41
|
+
logs?: string[];
|
|
42
|
+
metrics?: any;
|
|
43
|
+
podSpec?: any;
|
|
44
|
+
relatedEvents?: any[];
|
|
45
|
+
};
|
|
46
|
+
mode?: 'manual' | 'automatic';
|
|
47
|
+
confidenceThreshold?: number;
|
|
48
|
+
maxRiskLevel?: 'low' | 'medium' | 'high';
|
|
49
|
+
executeChoice?: number;
|
|
50
|
+
sessionId?: string;
|
|
51
|
+
executedCommands?: string[];
|
|
52
|
+
}
|
|
53
|
+
export interface DataRequest {
|
|
54
|
+
type: string;
|
|
55
|
+
resource: string;
|
|
56
|
+
namespace?: string;
|
|
57
|
+
args?: string[];
|
|
58
|
+
rationale: string;
|
|
59
|
+
}
|
|
60
|
+
export interface InvestigationIteration {
|
|
61
|
+
step: number;
|
|
62
|
+
aiAnalysis: string;
|
|
63
|
+
dataRequests: DataRequest[];
|
|
64
|
+
gatheredData: {
|
|
65
|
+
[key: string]: any;
|
|
66
|
+
};
|
|
67
|
+
complete: boolean;
|
|
68
|
+
timestamp: Date;
|
|
69
|
+
}
|
|
70
|
+
export interface RemediateSession {
|
|
71
|
+
sessionId: string;
|
|
72
|
+
issue: string;
|
|
73
|
+
initialContext: any;
|
|
74
|
+
mode: 'manual' | 'automatic';
|
|
75
|
+
iterations: InvestigationIteration[];
|
|
76
|
+
finalAnalysis?: RemediateOutput;
|
|
77
|
+
created: Date;
|
|
78
|
+
updated: Date;
|
|
79
|
+
status: 'investigating' | 'analysis_complete' | 'failed' | 'executed_successfully' | 'executed_with_errors' | 'cancelled';
|
|
80
|
+
executionResults?: ExecutionResult[];
|
|
81
|
+
}
|
|
82
|
+
export interface RemediationAction {
|
|
83
|
+
description: string;
|
|
84
|
+
command?: string;
|
|
85
|
+
risk: 'low' | 'medium' | 'high';
|
|
86
|
+
rationale: string;
|
|
87
|
+
}
|
|
88
|
+
export interface ExecutionResult {
|
|
89
|
+
action: string;
|
|
90
|
+
success: boolean;
|
|
91
|
+
output?: string;
|
|
92
|
+
error?: string;
|
|
93
|
+
timestamp: Date;
|
|
94
|
+
}
|
|
95
|
+
export interface ExecutionChoice {
|
|
96
|
+
id: number;
|
|
97
|
+
label: string;
|
|
98
|
+
description: string;
|
|
99
|
+
risk?: 'low' | 'medium' | 'high';
|
|
100
|
+
}
|
|
101
|
+
export interface RemediateOutput {
|
|
102
|
+
status: 'success' | 'failed' | 'awaiting_user_approval';
|
|
103
|
+
sessionId: string;
|
|
104
|
+
investigation: {
|
|
105
|
+
iterations: number;
|
|
106
|
+
dataGathered: string[];
|
|
107
|
+
};
|
|
108
|
+
analysis: {
|
|
109
|
+
rootCause: string;
|
|
110
|
+
confidence: number;
|
|
111
|
+
factors: string[];
|
|
112
|
+
};
|
|
113
|
+
remediation: {
|
|
114
|
+
summary: string;
|
|
115
|
+
actions: RemediationAction[];
|
|
116
|
+
risk: 'low' | 'medium' | 'high';
|
|
117
|
+
};
|
|
118
|
+
validationIntent?: string;
|
|
119
|
+
guidance?: string;
|
|
120
|
+
agentInstructions?: string;
|
|
121
|
+
nextAction?: string;
|
|
122
|
+
message?: string;
|
|
123
|
+
executionChoices?: ExecutionChoice[];
|
|
124
|
+
executed?: boolean;
|
|
125
|
+
results?: ExecutionResult[];
|
|
126
|
+
fallbackReason?: string;
|
|
127
|
+
mode?: 'manual' | 'automatic';
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* AI Response interface matching our prompt format
|
|
131
|
+
*/
|
|
132
|
+
interface AIInvestigationResponse {
|
|
133
|
+
analysis: string;
|
|
134
|
+
dataRequests: DataRequest[];
|
|
135
|
+
investigationComplete: boolean;
|
|
136
|
+
confidence: number;
|
|
137
|
+
reasoning: string;
|
|
138
|
+
needsMoreSpecificInfo?: boolean;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* AI Final Analysis Response interface matching final analysis prompt format
|
|
142
|
+
*/
|
|
143
|
+
interface AIFinalAnalysisResponse {
|
|
144
|
+
issueStatus: 'active' | 'resolved' | 'non_existent';
|
|
145
|
+
rootCause: string;
|
|
146
|
+
confidence: number;
|
|
147
|
+
factors: string[];
|
|
148
|
+
remediation: {
|
|
149
|
+
summary: string;
|
|
150
|
+
actions: RemediationAction[];
|
|
151
|
+
risk: 'low' | 'medium' | 'high';
|
|
152
|
+
};
|
|
153
|
+
validationIntent?: string;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Parse AI final analysis response
|
|
157
|
+
*/
|
|
158
|
+
export declare function parseAIFinalAnalysis(aiResponse: string): AIFinalAnalysisResponse;
|
|
159
|
+
/**
|
|
160
|
+
* Parse AI response for data requests and investigation status
|
|
161
|
+
*/
|
|
162
|
+
export declare function parseAIResponse(aiResponse: string): {
|
|
163
|
+
dataRequests: DataRequest[];
|
|
164
|
+
isComplete: boolean;
|
|
165
|
+
needsMoreSpecificInfo?: boolean;
|
|
166
|
+
parsedResponse?: AIInvestigationResponse;
|
|
167
|
+
};
|
|
168
|
+
/**
|
|
169
|
+
* Main tool handler for remediate tool
|
|
170
|
+
*/
|
|
171
|
+
export declare function handleRemediateTool(args: any): Promise<any>;
|
|
172
|
+
export {};
|
|
173
|
+
//# sourceMappingURL=remediate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remediate.d.ts","sourceRoot":"","sources":["../../src/tools/remediate.ts"],"names":[],"mappings":"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"}
|