mycontext-cli 1.0.1 → 1.0.3
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 +34 -36
- package/dist/agents/implementations/CodeGenSubAgent.d.ts.map +1 -1
- package/dist/agents/implementations/CodeGenSubAgent.js +13 -0
- package/dist/agents/implementations/CodeGenSubAgent.js.map +1 -1
- package/dist/cli.js +20 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/enhance.d.ts.map +1 -1
- package/dist/commands/enhance.js +11 -0
- package/dist/commands/enhance.js.map +1 -1
- package/dist/commands/generate-components.d.ts.map +1 -1
- package/dist/commands/generate-components.js +1 -0
- package/dist/commands/generate-components.js.map +1 -1
- package/dist/commands/generate-todos.d.ts +25 -0
- package/dist/commands/generate-todos.d.ts.map +1 -0
- package/dist/commands/generate-todos.js +249 -0
- package/dist/commands/generate-todos.js.map +1 -0
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +1 -0
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/model.d.ts.map +1 -1
- package/dist/commands/model.js +8 -5
- package/dist/commands/model.js.map +1 -1
- package/dist/commands/predict.d.ts.map +1 -1
- package/dist/commands/predict.js +11 -0
- package/dist/commands/predict.js.map +1 -1
- package/dist/commands/refine.d.ts.map +1 -1
- package/dist/commands/refine.js +11 -0
- package/dist/commands/refine.js.map +1 -1
- package/dist/config/ai-providers.json +44 -12
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/contextLoader.d.ts +50 -0
- package/dist/utils/contextLoader.d.ts.map +1 -0
- package/dist/utils/contextLoader.js +288 -0
- package/dist/utils/contextLoader.js.map +1 -0
- package/dist/utils/geminiClient.d.ts +61 -0
- package/dist/utils/geminiClient.d.ts.map +1 -0
- package/dist/utils/geminiClient.js +173 -0
- package/dist/utils/geminiClient.js.map +1 -0
- package/dist/utils/hybridAIClient.d.ts +8 -1
- package/dist/utils/hybridAIClient.d.ts.map +1 -1
- package/dist/utils/hybridAIClient.js +102 -53
- package/dist/utils/hybridAIClient.js.map +1 -1
- package/dist/utils/qwenClient.d.ts.map +1 -1
- package/dist/utils/qwenClient.js +39 -34
- package/dist/utils/qwenClient.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,14 +7,14 @@
|
|
|
7
7
|
"name": "openai/gpt-5",
|
|
8
8
|
"description": "GPT-5 for component generation on GitHub Models",
|
|
9
9
|
"capabilities": ["generation", "typescript", "jsx", "docs"],
|
|
10
|
-
|
|
10
|
+
"maxTokens": 4000,
|
|
11
11
|
"temperature": 0.2
|
|
12
12
|
},
|
|
13
13
|
"component-refiner": {
|
|
14
14
|
"name": "openai/gpt-5",
|
|
15
15
|
"description": "GPT-5 for high-quality refinement and editing",
|
|
16
16
|
"capabilities": ["refinement", "accessibility", "styling", "perf"],
|
|
17
|
-
|
|
17
|
+
"maxTokens": 4000,
|
|
18
18
|
"temperature": 0.2
|
|
19
19
|
}
|
|
20
20
|
},
|
|
@@ -57,14 +57,14 @@
|
|
|
57
57
|
"name": "grok-2-latest",
|
|
58
58
|
"description": "Grok for component generation",
|
|
59
59
|
"capabilities": ["generation", "typescript", "jsx"],
|
|
60
|
-
|
|
60
|
+
"maxTokens": 4000,
|
|
61
61
|
"temperature": 0.2
|
|
62
62
|
},
|
|
63
63
|
"component-refiner": {
|
|
64
64
|
"name": "grok-2-latest",
|
|
65
65
|
"description": "Grok for refinement",
|
|
66
66
|
"capabilities": ["refinement", "accessibility", "styling"],
|
|
67
|
-
|
|
67
|
+
"maxTokens": 4000,
|
|
68
68
|
"temperature": 0.2
|
|
69
69
|
}
|
|
70
70
|
},
|
|
@@ -82,28 +82,28 @@
|
|
|
82
82
|
"name": "gpt-3.5-turbo",
|
|
83
83
|
"description": "GPT-3.5-turbo for component generation",
|
|
84
84
|
"capabilities": ["generation", "typescript", "jsx", "docs"],
|
|
85
|
-
|
|
85
|
+
"maxTokens": 4000,
|
|
86
86
|
"temperature": 0.2
|
|
87
87
|
},
|
|
88
88
|
"component-refiner": {
|
|
89
89
|
"name": "gpt-3.5-turbo",
|
|
90
90
|
"description": "GPT-3.5-turbo for high-quality refinement and editing",
|
|
91
91
|
"capabilities": ["refinement", "accessibility", "styling", "perf"],
|
|
92
|
-
|
|
92
|
+
"maxTokens": 4000,
|
|
93
93
|
"temperature": 0.2
|
|
94
94
|
},
|
|
95
95
|
"text-generator": {
|
|
96
96
|
"name": "gpt-3.5-turbo",
|
|
97
97
|
"description": "GPT-3.5-turbo for PRD, types, and brand generation",
|
|
98
98
|
"capabilities": ["generation", "analysis", "documentation"],
|
|
99
|
-
|
|
99
|
+
"maxTokens": 4000,
|
|
100
100
|
"temperature": 0.3
|
|
101
101
|
},
|
|
102
102
|
"component-generator-gpt4": {
|
|
103
103
|
"name": "gpt-4",
|
|
104
104
|
"description": "GPT-4 for advanced component generation (requires API access)",
|
|
105
105
|
"capabilities": ["generation", "typescript", "jsx", "docs"],
|
|
106
|
-
|
|
106
|
+
"maxTokens": 4000,
|
|
107
107
|
"temperature": 0.2
|
|
108
108
|
}
|
|
109
109
|
},
|
|
@@ -121,28 +121,28 @@
|
|
|
121
121
|
"name": "claude-3-5-sonnet-20241022",
|
|
122
122
|
"description": "Claude 3.5 Sonnet for component generation",
|
|
123
123
|
"capabilities": ["generation", "typescript", "jsx", "docs"],
|
|
124
|
-
|
|
124
|
+
"maxTokens": 4000,
|
|
125
125
|
"temperature": 0.2
|
|
126
126
|
},
|
|
127
127
|
"component-refiner": {
|
|
128
128
|
"name": "claude-3-5-sonnet-20241022",
|
|
129
129
|
"description": "Claude 3.5 Sonnet for high-quality refinement and editing",
|
|
130
130
|
"capabilities": ["refinement", "accessibility", "styling", "perf"],
|
|
131
|
-
|
|
131
|
+
"maxTokens": 4000,
|
|
132
132
|
"temperature": 0.2
|
|
133
133
|
},
|
|
134
134
|
"text-generator": {
|
|
135
135
|
"name": "claude-3-5-sonnet-20241022",
|
|
136
136
|
"description": "Claude 3.5 Sonnet for PRD, types, and brand generation",
|
|
137
137
|
"capabilities": ["generation", "analysis", "documentation"],
|
|
138
|
-
|
|
138
|
+
"maxTokens": 4000,
|
|
139
139
|
"temperature": 0.3
|
|
140
140
|
},
|
|
141
141
|
"component-generator-haiku": {
|
|
142
142
|
"name": "claude-3-haiku-20240307",
|
|
143
143
|
"description": "Claude 3 Haiku for fast component generation",
|
|
144
144
|
"capabilities": ["generation", "typescript", "jsx"],
|
|
145
|
-
|
|
145
|
+
"maxTokens": 4000,
|
|
146
146
|
"temperature": 0.2
|
|
147
147
|
}
|
|
148
148
|
},
|
|
@@ -184,6 +184,38 @@
|
|
|
184
184
|
"retries": 2
|
|
185
185
|
}
|
|
186
186
|
},
|
|
187
|
+
"gemini": {
|
|
188
|
+
"enabled": true,
|
|
189
|
+
"priority": 2,
|
|
190
|
+
"models": {
|
|
191
|
+
"component-generator": {
|
|
192
|
+
"name": "gemini-2.0-flash",
|
|
193
|
+
"description": "Gemini 2.0 Flash for component generation",
|
|
194
|
+
"capabilities": ["generation", "typescript", "jsx", "docs", "code-generation"],
|
|
195
|
+
"maxTokens": 4000,
|
|
196
|
+
"temperature": 0.2
|
|
197
|
+
},
|
|
198
|
+
"component-refiner": {
|
|
199
|
+
"name": "gemini-2.0-flash",
|
|
200
|
+
"description": "Gemini 2.0 Flash for component refinement",
|
|
201
|
+
"capabilities": ["refinement", "accessibility", "styling", "perf", "code-generation"],
|
|
202
|
+
"maxTokens": 4000,
|
|
203
|
+
"temperature": 0.2
|
|
204
|
+
},
|
|
205
|
+
"text-generator": {
|
|
206
|
+
"name": "gemini-2.0-flash",
|
|
207
|
+
"description": "Gemini 2.0 Flash for PRD, types, and brand generation",
|
|
208
|
+
"capabilities": ["generation", "analysis", "documentation", "code-generation"],
|
|
209
|
+
"maxTokens": 4000,
|
|
210
|
+
"temperature": 0.3
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
"api": {
|
|
214
|
+
"baseUrl": "https://generativelanguage.googleapis.com/v1beta",
|
|
215
|
+
"timeout": 60000,
|
|
216
|
+
"retries": 2
|
|
217
|
+
}
|
|
218
|
+
},
|
|
187
219
|
"fallback": {
|
|
188
220
|
"enabled": false,
|
|
189
221
|
"priority": 99
|
package/dist/types/index.d.ts
CHANGED
|
@@ -151,4 +151,10 @@ export interface FunctionParameter {
|
|
|
151
151
|
required: boolean;
|
|
152
152
|
description: string;
|
|
153
153
|
}
|
|
154
|
+
export interface AIProvider {
|
|
155
|
+
name: string;
|
|
156
|
+
priority: number;
|
|
157
|
+
client: any;
|
|
158
|
+
isAvailable: () => Promise<boolean>;
|
|
159
|
+
}
|
|
154
160
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EACF,aAAa,GACb,mBAAmB,GACnB,SAAS,GACT,oBAAoB,GACpB,YAAY,GACZ,WAAW,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE;QACV,qBAAqB,EAAE,MAAM,CAAC;QAC9B,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACpC,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,CAAC;IACpD,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACpC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,aAAa,GAAG,QAAQ,CAAC;IACvD,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,MAAM,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,UAAU,EAAE;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;IACF,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACjD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export interface ProjectContext {
|
|
2
|
+
prd?: string;
|
|
3
|
+
types?: string;
|
|
4
|
+
brand?: string;
|
|
5
|
+
componentList?: any;
|
|
6
|
+
userStories?: string;
|
|
7
|
+
technicalSpecs?: string;
|
|
8
|
+
projectStructure?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ContextLoadOptions {
|
|
11
|
+
verbose?: boolean;
|
|
12
|
+
required?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Loads project context from .mycontext directory
|
|
16
|
+
* Provides fallback to context/ directory for backward compatibility
|
|
17
|
+
*/
|
|
18
|
+
export declare class ContextLoader {
|
|
19
|
+
private projectPath;
|
|
20
|
+
constructor(projectPath?: string);
|
|
21
|
+
/**
|
|
22
|
+
* Load all available context files
|
|
23
|
+
*/
|
|
24
|
+
loadProjectContext(options?: ContextLoadOptions): Promise<ProjectContext>;
|
|
25
|
+
/**
|
|
26
|
+
* Load context from a specific directory
|
|
27
|
+
*/
|
|
28
|
+
private loadFromDirectory;
|
|
29
|
+
/**
|
|
30
|
+
* Get a description from context files, with fallback priority
|
|
31
|
+
*/
|
|
32
|
+
getDescriptionFromContext(options?: ContextLoadOptions): Promise<string | null>;
|
|
33
|
+
/**
|
|
34
|
+
* Check if context files exist
|
|
35
|
+
*/
|
|
36
|
+
hasContextFiles(): Promise<boolean>;
|
|
37
|
+
/**
|
|
38
|
+
* Get context summary for display
|
|
39
|
+
*/
|
|
40
|
+
getContextSummary(context: ProjectContext): string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Convenience function to load project context
|
|
44
|
+
*/
|
|
45
|
+
export declare function loadProjectContext(projectPath?: string, options?: ContextLoadOptions): Promise<ProjectContext>;
|
|
46
|
+
/**
|
|
47
|
+
* Convenience function to get description from context
|
|
48
|
+
*/
|
|
49
|
+
export declare function getDescriptionFromContext(projectPath?: string, options?: ContextLoadOptions): Promise<string | null>;
|
|
50
|
+
//# sourceMappingURL=contextLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contextLoader.d.ts","sourceRoot":"","sources":["../../src/utils/contextLoader.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,GAAE,MAAsB;IAI/C;;OAEG;IACG,kBAAkB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC;IAyCnF;;OAEG;YACW,iBAAiB;IAyI/B;;OAEG;IACG,yBAAyB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAuBzF;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAKzC;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM;CAanD;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,cAAc,CAAC,CAGzB;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxB"}
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.ContextLoader = void 0;
|
|
40
|
+
exports.loadProjectContext = loadProjectContext;
|
|
41
|
+
exports.getDescriptionFromContext = getDescriptionFromContext;
|
|
42
|
+
const fs = __importStar(require("fs-extra"));
|
|
43
|
+
const path = __importStar(require("path"));
|
|
44
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
45
|
+
/**
|
|
46
|
+
* Loads project context from .mycontext directory
|
|
47
|
+
* Provides fallback to context/ directory for backward compatibility
|
|
48
|
+
*/
|
|
49
|
+
class ContextLoader {
|
|
50
|
+
constructor(projectPath = process.cwd()) {
|
|
51
|
+
this.projectPath = projectPath;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Load all available context files
|
|
55
|
+
*/
|
|
56
|
+
async loadProjectContext(options = {}) {
|
|
57
|
+
const context = {};
|
|
58
|
+
const { verbose = false, required = false } = options;
|
|
59
|
+
try {
|
|
60
|
+
// Try .mycontext directory first (new structure)
|
|
61
|
+
const mycontextDir = path.join(this.projectPath, ".mycontext");
|
|
62
|
+
if (await fs.pathExists(mycontextDir)) {
|
|
63
|
+
await this.loadFromDirectory(mycontextDir, context, verbose);
|
|
64
|
+
}
|
|
65
|
+
else if (required) {
|
|
66
|
+
throw new Error("No .mycontext directory found. Run 'mycontext init' first.");
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
// Fallback to context/ directory (legacy structure)
|
|
70
|
+
const contextDir = path.join(this.projectPath, "context");
|
|
71
|
+
if (await fs.pathExists(contextDir)) {
|
|
72
|
+
if (verbose) {
|
|
73
|
+
console.log(chalk_1.default.gray("📁 Using legacy context/ directory"));
|
|
74
|
+
}
|
|
75
|
+
await this.loadFromDirectory(contextDir, context, verbose);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (verbose && Object.keys(context).length > 0) {
|
|
79
|
+
console.log(chalk_1.default.green("✅ Context loaded successfully"));
|
|
80
|
+
console.log(chalk_1.default.gray(` Available: ${Object.keys(context).join(", ")}`));
|
|
81
|
+
}
|
|
82
|
+
return context;
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
if (required) {
|
|
86
|
+
throw error;
|
|
87
|
+
}
|
|
88
|
+
if (verbose) {
|
|
89
|
+
console.log(chalk_1.default.yellow("⚠️ Some context files could not be loaded"));
|
|
90
|
+
}
|
|
91
|
+
return context;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Load context from a specific directory
|
|
96
|
+
*/
|
|
97
|
+
async loadFromDirectory(dir, context, verbose) {
|
|
98
|
+
// Load PRD
|
|
99
|
+
const prdCandidates = [
|
|
100
|
+
"01-prd.md",
|
|
101
|
+
"prd.md",
|
|
102
|
+
"01_PRD.md",
|
|
103
|
+
"PRD.md"
|
|
104
|
+
];
|
|
105
|
+
for (const candidate of prdCandidates) {
|
|
106
|
+
const prdPath = path.join(dir, candidate);
|
|
107
|
+
if (await fs.pathExists(prdPath)) {
|
|
108
|
+
context.prd = await fs.readFile(prdPath, "utf8");
|
|
109
|
+
if (verbose) {
|
|
110
|
+
console.log(chalk_1.default.gray(` 📄 PRD: ${candidate}`));
|
|
111
|
+
}
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
// Load Types
|
|
116
|
+
const typesCandidates = [
|
|
117
|
+
"02-types.ts",
|
|
118
|
+
"types.ts",
|
|
119
|
+
"02_types.ts",
|
|
120
|
+
"types/index.ts"
|
|
121
|
+
];
|
|
122
|
+
for (const candidate of typesCandidates) {
|
|
123
|
+
const typesPath = path.join(dir, candidate);
|
|
124
|
+
if (await fs.pathExists(typesPath)) {
|
|
125
|
+
context.types = await fs.readFile(typesPath, "utf8");
|
|
126
|
+
if (verbose) {
|
|
127
|
+
console.log(chalk_1.default.gray(` 📄 Types: ${candidate}`));
|
|
128
|
+
}
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
// Load Brand
|
|
133
|
+
const brandCandidates = [
|
|
134
|
+
"03-branding.md",
|
|
135
|
+
"branding.md",
|
|
136
|
+
"03_branding.md",
|
|
137
|
+
"brand/globals.css",
|
|
138
|
+
"brand/branding.md"
|
|
139
|
+
];
|
|
140
|
+
for (const candidate of brandCandidates) {
|
|
141
|
+
const brandPath = path.join(dir, candidate);
|
|
142
|
+
if (await fs.pathExists(brandPath)) {
|
|
143
|
+
context.brand = await fs.readFile(brandPath, "utf8");
|
|
144
|
+
if (verbose) {
|
|
145
|
+
console.log(chalk_1.default.gray(` 📄 Brand: ${candidate}`));
|
|
146
|
+
}
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// Load Component List
|
|
151
|
+
const compListCandidates = [
|
|
152
|
+
"04-component-list.json",
|
|
153
|
+
"component-list.json",
|
|
154
|
+
"04_component_list.json",
|
|
155
|
+
"components-list.json"
|
|
156
|
+
];
|
|
157
|
+
for (const candidate of compListCandidates) {
|
|
158
|
+
const compListPath = path.join(dir, candidate);
|
|
159
|
+
if (await fs.pathExists(compListPath)) {
|
|
160
|
+
try {
|
|
161
|
+
const compListRaw = await fs.readFile(compListPath, "utf8");
|
|
162
|
+
context.componentList = JSON.parse(compListRaw);
|
|
163
|
+
if (verbose) {
|
|
164
|
+
console.log(chalk_1.default.gray(` 📄 Component List: ${candidate}`));
|
|
165
|
+
}
|
|
166
|
+
break;
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
// Invalid JSON, try next candidate
|
|
170
|
+
continue;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
// Load User Stories
|
|
175
|
+
const userStoriesCandidates = [
|
|
176
|
+
"02_user_stories.md",
|
|
177
|
+
"user_stories.md",
|
|
178
|
+
"01a-brief.md",
|
|
179
|
+
"01b-requirements.md"
|
|
180
|
+
];
|
|
181
|
+
for (const candidate of userStoriesCandidates) {
|
|
182
|
+
const userStoriesPath = path.join(dir, candidate);
|
|
183
|
+
if (await fs.pathExists(userStoriesPath)) {
|
|
184
|
+
context.userStories = await fs.readFile(userStoriesPath, "utf8");
|
|
185
|
+
if (verbose) {
|
|
186
|
+
console.log(chalk_1.default.gray(` 📄 User Stories: ${candidate}`));
|
|
187
|
+
}
|
|
188
|
+
break;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
// Load Technical Specs
|
|
192
|
+
const techSpecsCandidates = [
|
|
193
|
+
"03_technical_specs.md",
|
|
194
|
+
"technical_specs.md",
|
|
195
|
+
"01c-flows.md"
|
|
196
|
+
];
|
|
197
|
+
for (const candidate of techSpecsCandidates) {
|
|
198
|
+
const techSpecsPath = path.join(dir, candidate);
|
|
199
|
+
if (await fs.pathExists(techSpecsPath)) {
|
|
200
|
+
context.technicalSpecs = await fs.readFile(techSpecsPath, "utf8");
|
|
201
|
+
if (verbose) {
|
|
202
|
+
console.log(chalk_1.default.gray(` 📄 Technical Specs: ${candidate}`));
|
|
203
|
+
}
|
|
204
|
+
break;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
// Load Project Structure
|
|
208
|
+
const structureCandidates = [
|
|
209
|
+
"05-project-structure.md",
|
|
210
|
+
"project-structure.md",
|
|
211
|
+
"05_project_structure.md"
|
|
212
|
+
];
|
|
213
|
+
for (const candidate of structureCandidates) {
|
|
214
|
+
const structurePath = path.join(dir, candidate);
|
|
215
|
+
if (await fs.pathExists(structurePath)) {
|
|
216
|
+
context.projectStructure = await fs.readFile(structurePath, "utf8");
|
|
217
|
+
if (verbose) {
|
|
218
|
+
console.log(chalk_1.default.gray(` 📄 Project Structure: ${candidate}`));
|
|
219
|
+
}
|
|
220
|
+
break;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Get a description from context files, with fallback priority
|
|
226
|
+
*/
|
|
227
|
+
async getDescriptionFromContext(options = {}) {
|
|
228
|
+
const context = await this.loadProjectContext(options);
|
|
229
|
+
// Priority order: PRD > Types > User Stories > Technical Specs
|
|
230
|
+
if (context.prd && context.prd.trim()) {
|
|
231
|
+
return context.prd.trim();
|
|
232
|
+
}
|
|
233
|
+
if (context.types && context.types.trim()) {
|
|
234
|
+
return context.types.trim();
|
|
235
|
+
}
|
|
236
|
+
if (context.userStories && context.userStories.trim()) {
|
|
237
|
+
return context.userStories.trim();
|
|
238
|
+
}
|
|
239
|
+
if (context.technicalSpecs && context.technicalSpecs.trim()) {
|
|
240
|
+
return context.technicalSpecs.trim();
|
|
241
|
+
}
|
|
242
|
+
return null;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Check if context files exist
|
|
246
|
+
*/
|
|
247
|
+
async hasContextFiles() {
|
|
248
|
+
const context = await this.loadProjectContext();
|
|
249
|
+
return Object.keys(context).length > 0;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Get context summary for display
|
|
253
|
+
*/
|
|
254
|
+
getContextSummary(context) {
|
|
255
|
+
const parts = [];
|
|
256
|
+
if (context.prd)
|
|
257
|
+
parts.push("PRD");
|
|
258
|
+
if (context.types)
|
|
259
|
+
parts.push("Types");
|
|
260
|
+
if (context.brand)
|
|
261
|
+
parts.push("Brand");
|
|
262
|
+
if (context.componentList)
|
|
263
|
+
parts.push("Components");
|
|
264
|
+
if (context.userStories)
|
|
265
|
+
parts.push("User Stories");
|
|
266
|
+
if (context.technicalSpecs)
|
|
267
|
+
parts.push("Technical Specs");
|
|
268
|
+
if (context.projectStructure)
|
|
269
|
+
parts.push("Project Structure");
|
|
270
|
+
return parts.length > 0 ? parts.join(", ") : "No context found";
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
exports.ContextLoader = ContextLoader;
|
|
274
|
+
/**
|
|
275
|
+
* Convenience function to load project context
|
|
276
|
+
*/
|
|
277
|
+
async function loadProjectContext(projectPath, options) {
|
|
278
|
+
const loader = new ContextLoader(projectPath);
|
|
279
|
+
return loader.loadProjectContext(options);
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Convenience function to get description from context
|
|
283
|
+
*/
|
|
284
|
+
async function getDescriptionFromContext(projectPath, options) {
|
|
285
|
+
const loader = new ContextLoader(projectPath);
|
|
286
|
+
return loader.getDescriptionFromContext(options);
|
|
287
|
+
}
|
|
288
|
+
//# sourceMappingURL=contextLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contextLoader.js","sourceRoot":"","sources":["../../src/utils/contextLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { AIProvider } from "../types";
|
|
2
|
+
export interface GeminiResponse {
|
|
3
|
+
candidates: Array<{
|
|
4
|
+
content: {
|
|
5
|
+
parts: Array<{
|
|
6
|
+
text: string;
|
|
7
|
+
}>;
|
|
8
|
+
};
|
|
9
|
+
finishReason: string;
|
|
10
|
+
}>;
|
|
11
|
+
usageMetadata?: {
|
|
12
|
+
promptTokenCount: number;
|
|
13
|
+
candidatesTokenCount: number;
|
|
14
|
+
totalTokenCount: number;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export declare class GeminiClient implements AIProvider {
|
|
18
|
+
name: string;
|
|
19
|
+
priority: number;
|
|
20
|
+
client: this;
|
|
21
|
+
private apiKey;
|
|
22
|
+
private baseUrl;
|
|
23
|
+
constructor(apiKey?: string);
|
|
24
|
+
generateText(prompt: string, options?: {
|
|
25
|
+
maxTokens?: number;
|
|
26
|
+
temperature?: number;
|
|
27
|
+
model?: string;
|
|
28
|
+
}): Promise<{
|
|
29
|
+
text: string;
|
|
30
|
+
provider: string;
|
|
31
|
+
usage?: {
|
|
32
|
+
tokens: number;
|
|
33
|
+
model: string;
|
|
34
|
+
};
|
|
35
|
+
}>;
|
|
36
|
+
generateComponent(prompt: string, options?: {
|
|
37
|
+
maxTokens?: number;
|
|
38
|
+
temperature?: number;
|
|
39
|
+
model?: string;
|
|
40
|
+
}): Promise<{
|
|
41
|
+
code: string;
|
|
42
|
+
metadata: {
|
|
43
|
+
componentName: string;
|
|
44
|
+
dependencies: string[];
|
|
45
|
+
shadcnComponents: string[];
|
|
46
|
+
qualityScore: number;
|
|
47
|
+
linesOfCode: number;
|
|
48
|
+
};
|
|
49
|
+
provider: string;
|
|
50
|
+
usage?: {
|
|
51
|
+
tokens: number;
|
|
52
|
+
model: string;
|
|
53
|
+
};
|
|
54
|
+
}>;
|
|
55
|
+
private calculateQualityScore;
|
|
56
|
+
isAvailable(): Promise<boolean>;
|
|
57
|
+
getProviderName(): string;
|
|
58
|
+
hasApiKey(): boolean;
|
|
59
|
+
setApiKey(apiKey: string): void;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=geminiClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geminiClient.d.ts","sourceRoot":"","sources":["../../src/utils/geminiClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,KAAK,CAAC;QAChB,OAAO,EAAE;YACP,KAAK,EAAE,KAAK,CAAC;gBACX,IAAI,EAAE,MAAM,CAAC;aACd,CAAC,CAAC;SACJ,CAAC;QACF,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;IACH,aAAa,CAAC,EAAE;QACd,gBAAgB,EAAE,MAAM,CAAC;QACzB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED,qBAAa,YAAa,YAAW,UAAU;IACtC,IAAI,SAAY;IAChB,QAAQ,SAAK;IACb,MAAM,OAAQ;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,CAAC,EAAE,MAAM;IAKrB,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;KACX,GACL,OAAO,CAAC;QACT,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE;YACN,MAAM,EAAE,MAAM,CAAC;YACf,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;IA4EI,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;KACX,GACL,OAAO,CAAC;QACT,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE;YACR,aAAa,EAAE,MAAM,CAAC;YACtB,YAAY,EAAE,MAAM,EAAE,CAAC;YACvB,gBAAgB,EAAE,MAAM,EAAE,CAAC;YAC3B,YAAY,EAAE,MAAM,CAAC;YACrB,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE;YACN,MAAM,EAAE,MAAM,CAAC;YACf,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;IAuDF,OAAO,CAAC,qBAAqB;IAoDvB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAarC,eAAe,IAAI,MAAM;IAIzB,SAAS,IAAI,OAAO;IAIpB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGhC"}
|