@vfarcic/dot-ai 0.5.0 → 0.5.1
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/.claude/commands/context-load.md +11 -0
- package/.claude/commands/context-save.md +16 -0
- package/.claude/commands/prd-done.md +115 -0
- package/.claude/commands/prd-get.md +25 -0
- package/.claude/commands/prd-start.md +87 -0
- package/.claude/commands/task-done.md +77 -0
- package/.claude/commands/tests-reminder.md +32 -0
- package/.claude/settings.local.json +20 -0
- package/.eslintrc.json +25 -0
- package/.github/workflows/ci.yml +170 -0
- package/.prettierrc.json +10 -0
- package/.teller.yml +8 -0
- package/CLAUDE.md +162 -0
- package/assets/images/logo.png +0 -0
- package/bin/dot-ai.ts +47 -0
- package/destroy.sh +45 -0
- package/devbox.json +13 -0
- package/devbox.lock +225 -0
- package/docs/API.md +449 -0
- package/docs/CONTEXT.md +49 -0
- package/docs/DEVELOPMENT.md +203 -0
- package/docs/NEXT_STEPS.md +97 -0
- package/docs/STAGE_BASED_API.md +97 -0
- package/docs/cli-guide.md +798 -0
- package/docs/design.md +750 -0
- package/docs/discovery-engine.md +515 -0
- package/docs/error-handling.md +429 -0
- package/docs/function-registration.md +157 -0
- package/docs/mcp-guide.md +416 -0
- package/package.json +2 -121
- package/renovate.json +51 -0
- package/setup.sh +111 -0
- package/{dist/cli.js → src/cli.ts} +26 -19
- package/src/core/claude.ts +280 -0
- package/src/core/deploy-operation.ts +127 -0
- package/src/core/discovery.ts +900 -0
- package/src/core/error-handling.ts +562 -0
- package/src/core/index.ts +143 -0
- package/src/core/kubernetes-utils.ts +218 -0
- package/src/core/memory.ts +148 -0
- package/src/core/schema.ts +830 -0
- package/src/core/session-utils.ts +97 -0
- package/src/core/workflow.ts +234 -0
- package/src/index.ts +18 -0
- package/src/interfaces/cli.ts +872 -0
- package/src/interfaces/mcp.ts +183 -0
- package/src/mcp/server.ts +131 -0
- package/src/tools/answer-question.ts +807 -0
- package/src/tools/choose-solution.ts +169 -0
- package/src/tools/deploy-manifests.ts +94 -0
- package/src/tools/generate-manifests.ts +502 -0
- package/src/tools/index.ts +41 -0
- package/src/tools/recommend.ts +370 -0
- package/tests/__mocks__/@kubernetes/client-node.ts +106 -0
- package/tests/build-system.test.ts +345 -0
- package/tests/configuration.test.ts +226 -0
- package/tests/core/deploy-operation.test.ts +38 -0
- package/tests/core/discovery.test.ts +1648 -0
- package/tests/core/error-handling.test.ts +632 -0
- package/tests/core/schema.test.ts +1658 -0
- package/tests/core/session-utils.test.ts +245 -0
- package/tests/core.test.ts +439 -0
- package/tests/fixtures/configmap-no-labels.yaml +8 -0
- package/tests/fixtures/crossplane-app-configuration.yaml +6 -0
- package/tests/fixtures/crossplane-providers.yaml +45 -0
- package/tests/fixtures/crossplane-rbac.yaml +48 -0
- package/tests/fixtures/invalid-configmap.yaml +8 -0
- package/tests/fixtures/invalid-deployment.yaml +17 -0
- package/tests/fixtures/test-deployment.yaml +28 -0
- package/tests/fixtures/valid-configmap.yaml +15 -0
- package/tests/infrastructure.test.ts +426 -0
- package/tests/interfaces/cli.test.ts +1036 -0
- package/tests/interfaces/mcp.test.ts +139 -0
- package/tests/kubernetes-utils.test.ts +200 -0
- package/tests/mcp/server.test.ts +126 -0
- package/tests/setup.ts +31 -0
- package/tests/tools/answer-question.test.ts +367 -0
- package/tests/tools/choose-solution.test.ts +481 -0
- package/tests/tools/deploy-manifests.test.ts +185 -0
- package/tests/tools/generate-manifests.test.ts +441 -0
- package/tests/tools/index.test.ts +111 -0
- package/tests/tools/recommend.test.ts +180 -0
- package/tsconfig.json +34 -0
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/core/claude.d.ts +0 -42
- package/dist/core/claude.d.ts.map +0 -1
- package/dist/core/claude.js +0 -229
- package/dist/core/deploy-operation.d.ts +0 -38
- package/dist/core/deploy-operation.d.ts.map +0 -1
- package/dist/core/deploy-operation.js +0 -101
- package/dist/core/discovery.d.ts +0 -162
- package/dist/core/discovery.d.ts.map +0 -1
- package/dist/core/discovery.js +0 -758
- package/dist/core/error-handling.d.ts +0 -167
- package/dist/core/error-handling.d.ts.map +0 -1
- package/dist/core/error-handling.js +0 -399
- package/dist/core/index.d.ts +0 -42
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -123
- package/dist/core/kubernetes-utils.d.ts +0 -38
- package/dist/core/kubernetes-utils.d.ts.map +0 -1
- package/dist/core/kubernetes-utils.js +0 -177
- package/dist/core/memory.d.ts +0 -45
- package/dist/core/memory.d.ts.map +0 -1
- package/dist/core/memory.js +0 -113
- package/dist/core/schema.d.ts +0 -187
- package/dist/core/schema.d.ts.map +0 -1
- package/dist/core/schema.js +0 -655
- package/dist/core/session-utils.d.ts +0 -29
- package/dist/core/session-utils.d.ts.map +0 -1
- package/dist/core/session-utils.js +0 -121
- package/dist/core/workflow.d.ts +0 -70
- package/dist/core/workflow.d.ts.map +0 -1
- package/dist/core/workflow.js +0 -161
- package/dist/index.d.ts +0 -15
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -32
- package/dist/interfaces/cli.d.ts +0 -74
- package/dist/interfaces/cli.d.ts.map +0 -1
- package/dist/interfaces/cli.js +0 -769
- package/dist/interfaces/mcp.d.ts +0 -30
- package/dist/interfaces/mcp.d.ts.map +0 -1
- package/dist/interfaces/mcp.js +0 -105
- package/dist/mcp/server.d.ts +0 -9
- package/dist/mcp/server.d.ts.map +0 -1
- package/dist/mcp/server.js +0 -151
- package/dist/tools/answer-question.d.ts +0 -27
- package/dist/tools/answer-question.d.ts.map +0 -1
- package/dist/tools/answer-question.js +0 -696
- package/dist/tools/choose-solution.d.ts +0 -23
- package/dist/tools/choose-solution.d.ts.map +0 -1
- package/dist/tools/choose-solution.js +0 -171
- package/dist/tools/deploy-manifests.d.ts +0 -25
- package/dist/tools/deploy-manifests.d.ts.map +0 -1
- package/dist/tools/deploy-manifests.js +0 -74
- package/dist/tools/generate-manifests.d.ts +0 -23
- package/dist/tools/generate-manifests.d.ts.map +0 -1
- package/dist/tools/generate-manifests.js +0 -424
- package/dist/tools/index.d.ts +0 -11
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -34
- package/dist/tools/recommend.d.ts +0 -23
- package/dist/tools/recommend.d.ts.map +0 -1
- package/dist/tools/recommend.js +0 -332
package/dist/core/discovery.d.ts
DELETED
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Kubernetes Discovery Module
|
|
3
|
-
*
|
|
4
|
-
* Handles cluster connection, resource discovery, and capability detection
|
|
5
|
-
*/
|
|
6
|
-
import { KubectlConfig } from './kubernetes-utils';
|
|
7
|
-
export interface ClusterInfo {
|
|
8
|
-
type: string;
|
|
9
|
-
version: string;
|
|
10
|
-
capabilities: string[];
|
|
11
|
-
}
|
|
12
|
-
export interface ResourceMap {
|
|
13
|
-
resources: EnhancedResource[];
|
|
14
|
-
custom: EnhancedCRD[];
|
|
15
|
-
}
|
|
16
|
-
export interface CRD {
|
|
17
|
-
name: string;
|
|
18
|
-
group: string;
|
|
19
|
-
version: string;
|
|
20
|
-
schema: any;
|
|
21
|
-
}
|
|
22
|
-
export interface EnhancedCRD {
|
|
23
|
-
name: string;
|
|
24
|
-
group: string;
|
|
25
|
-
version: string;
|
|
26
|
-
kind: string;
|
|
27
|
-
scope: 'Namespaced' | 'Cluster';
|
|
28
|
-
versions: Array<{
|
|
29
|
-
name: string;
|
|
30
|
-
served: boolean;
|
|
31
|
-
storage: boolean;
|
|
32
|
-
schema?: any;
|
|
33
|
-
}>;
|
|
34
|
-
schema?: any;
|
|
35
|
-
}
|
|
36
|
-
export interface EnhancedResource {
|
|
37
|
-
name: string;
|
|
38
|
-
namespaced: boolean;
|
|
39
|
-
kind: string;
|
|
40
|
-
shortNames: string[];
|
|
41
|
-
apiVersion: string;
|
|
42
|
-
group: string;
|
|
43
|
-
}
|
|
44
|
-
export interface ResourceExplanation {
|
|
45
|
-
kind: string;
|
|
46
|
-
version: string;
|
|
47
|
-
group: string;
|
|
48
|
-
description: string;
|
|
49
|
-
fields: Array<{
|
|
50
|
-
name: string;
|
|
51
|
-
type: string;
|
|
52
|
-
description: string;
|
|
53
|
-
required: boolean;
|
|
54
|
-
}>;
|
|
55
|
-
}
|
|
56
|
-
export interface ClusterFingerprint {
|
|
57
|
-
version: string;
|
|
58
|
-
platform: string;
|
|
59
|
-
nodeCount: number;
|
|
60
|
-
namespaceCount: number;
|
|
61
|
-
crdCount: number;
|
|
62
|
-
capabilities: string[];
|
|
63
|
-
features: {
|
|
64
|
-
deployments: number;
|
|
65
|
-
services: number;
|
|
66
|
-
pods: number;
|
|
67
|
-
configMaps: number;
|
|
68
|
-
secrets: number;
|
|
69
|
-
};
|
|
70
|
-
networking: {
|
|
71
|
-
cni: string;
|
|
72
|
-
serviceSubnet: string;
|
|
73
|
-
podSubnet: string;
|
|
74
|
-
dnsProvider: string;
|
|
75
|
-
};
|
|
76
|
-
security: {
|
|
77
|
-
rbacEnabled: boolean;
|
|
78
|
-
podSecurityPolicy: boolean;
|
|
79
|
-
networkPolicies: boolean;
|
|
80
|
-
admissionControllers: string[];
|
|
81
|
-
};
|
|
82
|
-
storage: {
|
|
83
|
-
storageClasses: string[];
|
|
84
|
-
persistentVolumes: number;
|
|
85
|
-
csiDrivers: string[];
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
export interface KubernetesDiscoveryConfig {
|
|
89
|
-
kubeconfigPath?: string;
|
|
90
|
-
}
|
|
91
|
-
export declare class KubernetesDiscovery {
|
|
92
|
-
private kc;
|
|
93
|
-
private k8sApi;
|
|
94
|
-
private connected;
|
|
95
|
-
private kubeconfigPath;
|
|
96
|
-
constructor(config?: KubernetesDiscoveryConfig);
|
|
97
|
-
/**
|
|
98
|
-
* Resolves kubeconfig path following priority order:
|
|
99
|
-
* 1. Custom path provided in constructor
|
|
100
|
-
* 2. KUBECONFIG environment variable (first path if multiple)
|
|
101
|
-
* 3. Default ~/.kube/config
|
|
102
|
-
*/
|
|
103
|
-
private resolveKubeconfigPath;
|
|
104
|
-
/**
|
|
105
|
-
* Get the current kubeconfig path being used
|
|
106
|
-
*/
|
|
107
|
-
getKubeconfigPath(): string;
|
|
108
|
-
/**
|
|
109
|
-
* Set a new kubeconfig path (will require reconnection)
|
|
110
|
-
*/
|
|
111
|
-
setKubeconfigPath(newPath: string): void;
|
|
112
|
-
connect(): Promise<void>;
|
|
113
|
-
isConnected(): boolean;
|
|
114
|
-
getClusterInfo(): Promise<ClusterInfo>;
|
|
115
|
-
private detectClusterType;
|
|
116
|
-
private detectCapabilities;
|
|
117
|
-
discoverResources(): Promise<ResourceMap>;
|
|
118
|
-
/**
|
|
119
|
-
* Execute kubectl command with proper configuration
|
|
120
|
-
*/
|
|
121
|
-
/**
|
|
122
|
-
* Execute kubectl command with proper configuration
|
|
123
|
-
* Delegates to shared utility function
|
|
124
|
-
*/
|
|
125
|
-
executeKubectl(args: string[], config?: KubectlConfig): Promise<string>;
|
|
126
|
-
discoverCRDs(options?: {
|
|
127
|
-
group?: string;
|
|
128
|
-
}): Promise<EnhancedCRD[]>;
|
|
129
|
-
discoverCRDDetails(): Promise<CRD[]>;
|
|
130
|
-
getAPIResources(options?: {
|
|
131
|
-
group?: string;
|
|
132
|
-
}): Promise<EnhancedResource[]>;
|
|
133
|
-
explainResource(resource: string, options?: {
|
|
134
|
-
field?: string;
|
|
135
|
-
}): Promise<string>;
|
|
136
|
-
fingerprintCluster(): Promise<ClusterFingerprint>;
|
|
137
|
-
private getResourceCounts;
|
|
138
|
-
private getNetworkingInfo;
|
|
139
|
-
private getSecurityInfo;
|
|
140
|
-
private getStorageInfo;
|
|
141
|
-
private extractSubnet;
|
|
142
|
-
getResourceSchema(_kind: string, _apiVersion: string): Promise<any>;
|
|
143
|
-
getNamespaces(): Promise<string[]>;
|
|
144
|
-
namespaceExists(namespace: string): Promise<boolean>;
|
|
145
|
-
/**
|
|
146
|
-
* Discover what capabilities a CRD provides by analyzing related resources
|
|
147
|
-
*/
|
|
148
|
-
private discoverCRDCapabilities;
|
|
149
|
-
/**
|
|
150
|
-
* Find Compositions associated with this CRD
|
|
151
|
-
*/
|
|
152
|
-
private discoverAssociatedCompositions;
|
|
153
|
-
/**
|
|
154
|
-
* Analyze what resources a Composition creates
|
|
155
|
-
*/
|
|
156
|
-
private analyzeCompositionCapabilities;
|
|
157
|
-
/**
|
|
158
|
-
* Build an enhanced description that includes discovered capabilities
|
|
159
|
-
*/
|
|
160
|
-
private buildEnhancedDescription;
|
|
161
|
-
}
|
|
162
|
-
//# sourceMappingURL=discovery.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/core/discovery.ts"],"names":[],"mappings":"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"}
|