autogit-tool 1.0.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/LICENSE +21 -0
- package/README.md +42 -0
- package/dist/ai/prompts.d.ts +10 -0
- package/dist/ai/prompts.d.ts.map +1 -0
- package/dist/ai/prompts.js +169 -0
- package/dist/ai/prompts.js.map +1 -0
- package/dist/ai/provider.d.ts +24 -0
- package/dist/ai/provider.d.ts.map +1 -0
- package/dist/ai/provider.js +305 -0
- package/dist/ai/provider.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +228 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/analyze.d.ts +4 -0
- package/dist/commands/analyze.d.ts.map +1 -0
- package/dist/commands/analyze.js +63 -0
- package/dist/commands/analyze.js.map +1 -0
- package/dist/commands/config.d.ts +8 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +457 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/docs.d.ts +5 -0
- package/dist/commands/docs.d.ts.map +1 -0
- package/dist/commands/docs.js +22 -0
- package/dist/commands/docs.js.map +1 -0
- package/dist/commands/doctor.d.ts +2 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +69 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/github.d.ts +5 -0
- package/dist/commands/github.d.ts.map +1 -0
- package/dist/commands/github.js +46 -0
- package/dist/commands/github.js.map +1 -0
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +38 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/linkedin.d.ts +4 -0
- package/dist/commands/linkedin.d.ts.map +1 -0
- package/dist/commands/linkedin.js +42 -0
- package/dist/commands/linkedin.js.map +1 -0
- package/dist/commands/login.d.ts +2 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +301 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/publish.d.ts +5 -0
- package/dist/commands/publish.d.ts.map +1 -0
- package/dist/commands/publish.js +58 -0
- package/dist/commands/publish.js.map +1 -0
- package/dist/commands/readme.d.ts +5 -0
- package/dist/commands/readme.d.ts.map +1 -0
- package/dist/commands/readme.js +32 -0
- package/dist/commands/readme.js.map +1 -0
- package/dist/commands/release.d.ts +5 -0
- package/dist/commands/release.d.ts.map +1 -0
- package/dist/commands/release.js +56 -0
- package/dist/commands/release.js.map +1 -0
- package/dist/commands/resume.d.ts +8 -0
- package/dist/commands/resume.d.ts.map +1 -0
- package/dist/commands/resume.js +228 -0
- package/dist/commands/resume.js.map +1 -0
- package/dist/config/manager.d.ts +67 -0
- package/dist/config/manager.d.ts.map +1 -0
- package/dist/config/manager.js +78 -0
- package/dist/config/manager.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/pipeline/main-pipeline.d.ts +15 -0
- package/dist/pipeline/main-pipeline.d.ts.map +1 -0
- package/dist/pipeline/main-pipeline.js +279 -0
- package/dist/pipeline/main-pipeline.js.map +1 -0
- package/dist/scanner/file-scanner.d.ts +21 -0
- package/dist/scanner/file-scanner.d.ts.map +1 -0
- package/dist/scanner/file-scanner.js +90 -0
- package/dist/scanner/file-scanner.js.map +1 -0
- package/dist/scanner/project-analyzer.d.ts +26 -0
- package/dist/scanner/project-analyzer.d.ts.map +1 -0
- package/dist/scanner/project-analyzer.js +454 -0
- package/dist/scanner/project-analyzer.js.map +1 -0
- package/dist/services/docs-generator.d.ts +11 -0
- package/dist/services/docs-generator.d.ts.map +1 -0
- package/dist/services/docs-generator.js +172 -0
- package/dist/services/docs-generator.js.map +1 -0
- package/dist/services/git-service.d.ts +22 -0
- package/dist/services/git-service.d.ts.map +1 -0
- package/dist/services/git-service.js +162 -0
- package/dist/services/git-service.js.map +1 -0
- package/dist/services/github-service.d.ts +44 -0
- package/dist/services/github-service.d.ts.map +1 -0
- package/dist/services/github-service.js +131 -0
- package/dist/services/github-service.js.map +1 -0
- package/dist/services/insights.d.ts +24 -0
- package/dist/services/insights.d.ts.map +1 -0
- package/dist/services/insights.js +140 -0
- package/dist/services/insights.js.map +1 -0
- package/dist/services/readme-manager.d.ts +11 -0
- package/dist/services/readme-manager.d.ts.map +1 -0
- package/dist/services/readme-manager.js +180 -0
- package/dist/services/readme-manager.js.map +1 -0
- package/dist/services/resume-manager.d.ts +29 -0
- package/dist/services/resume-manager.d.ts.map +1 -0
- package/dist/services/resume-manager.js +186 -0
- package/dist/services/resume-manager.js.map +1 -0
- package/dist/services/social-generator.d.ts +14 -0
- package/dist/services/social-generator.d.ts.map +1 -0
- package/dist/services/social-generator.js +93 -0
- package/dist/services/social-generator.js.map +1 -0
- package/dist/utils/logger.d.ts +19 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +81 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/platform.d.ts +8 -0
- package/dist/utils/platform.d.ts.map +1 -0
- package/dist/utils/platform.js +27 -0
- package/dist/utils/platform.js.map +1 -0
- package/package.json +74 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Vardh Chhajer
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# autogit-cli
|
|
2
|
+
Automate project documentation, GitHub publishing, and social media content generation
|
|
3
|
+
|
|
4
|
+
## Overview
|
|
5
|
+
The autogit-cli project is designed to streamline the process of managing project documentation, publishing to GitHub, and generating social media content. This tool aims to simplify the workflow, reducing the time and effort required to maintain a project's online presence.
|
|
6
|
+
|
|
7
|
+
## Tech Stack
|
|
8
|
+
- TypeScript
|
|
9
|
+
- Package Manager: npm
|
|
10
|
+
- Build System: npm scripts
|
|
11
|
+
|
|
12
|
+
## Features
|
|
13
|
+
- Automate project documentation
|
|
14
|
+
- GitHub publishing
|
|
15
|
+
- Social media content generation
|
|
16
|
+
|
|
17
|
+
## Installation
|
|
18
|
+
To get started with autogit-cli, follow these steps:
|
|
19
|
+
1. **Clone the repository**:
|
|
20
|
+
```bash
|
|
21
|
+
git clone https://github.com/USERNAME/autogit-cli.git
|
|
22
|
+
```
|
|
23
|
+
2. **Navigate to the project directory**:
|
|
24
|
+
```bash
|
|
25
|
+
cd autogit-cli
|
|
26
|
+
```
|
|
27
|
+
3. **Install dependencies**:
|
|
28
|
+
```bash
|
|
29
|
+
npm install
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Configuration
|
|
33
|
+
No environment variables are required for this project.
|
|
34
|
+
|
|
35
|
+
## Usage
|
|
36
|
+
To run the autogit-cli, use the following command:
|
|
37
|
+
```bash
|
|
38
|
+
npm start
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Contributing
|
|
42
|
+
Contributions are welcome! Please feel free to submit a Pull Request. Your input is valuable in helping to improve and expand the capabilities of autogit-cli.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ProjectAnalysis } from '../scanner/project-analyzer.js';
|
|
2
|
+
export declare function buildProjectContext(analysis: ProjectAnalysis): string;
|
|
3
|
+
export declare function readmeGenerationPrompt(analysis: ProjectAnalysis, existingReadme?: string): string;
|
|
4
|
+
export declare function commitMessagePrompt(changes: string): string;
|
|
5
|
+
export declare function linkedinPostPrompt(analysis: ProjectAnalysis, style: 'short' | 'medium' | 'long'): string;
|
|
6
|
+
export declare function twitterPostPrompt(analysis: ProjectAnalysis): string;
|
|
7
|
+
export declare function projectSummaryPrompt(analysis: ProjectAnalysis): string;
|
|
8
|
+
export declare function architectureDocPrompt(analysis: ProjectAnalysis, folderStructure: string): string;
|
|
9
|
+
export declare function insightsPrompt(analysis: ProjectAnalysis): string;
|
|
10
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/ai/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEtE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAoBrE;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAsCjG;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAW3D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CA0BxG;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAenE;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAiBtE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAmBhG;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAsBhE"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
export function buildProjectContext(analysis) {
|
|
2
|
+
return `
|
|
3
|
+
Project: ${analysis.name}
|
|
4
|
+
${analysis.description ? `Description: ${analysis.description}` : ''}
|
|
5
|
+
${analysis.version ? `Version: ${analysis.version}` : ''}
|
|
6
|
+
|
|
7
|
+
Languages: ${analysis.languages.join(', ') || 'None detected'}
|
|
8
|
+
Frameworks: ${analysis.frameworks.join(', ') || 'None detected'}
|
|
9
|
+
Libraries: ${analysis.libraries.join(', ') || 'None detected'}
|
|
10
|
+
Package Manager: ${analysis.packageManager || 'Unknown'}
|
|
11
|
+
Build System: ${analysis.buildSystem || 'Unknown'}
|
|
12
|
+
Architecture: ${analysis.architecture}
|
|
13
|
+
Database: ${analysis.database.join(', ') || 'None detected'}
|
|
14
|
+
Test Framework: ${analysis.testFramework || 'None detected'}
|
|
15
|
+
Deployment: ${analysis.deployment.join(', ') || 'None detected'}
|
|
16
|
+
CI/CD: ${analysis.cicd.join(', ') || 'None'}
|
|
17
|
+
License: ${analysis.license || 'None'}
|
|
18
|
+
APIs: ${analysis.apis.length > 0 ? analysis.apis.join(', ') : 'None detected'}
|
|
19
|
+
Environment Variables: ${analysis.envVars.length > 0 ? analysis.envVars.join(', ') : 'None detected'}
|
|
20
|
+
`.trim();
|
|
21
|
+
}
|
|
22
|
+
export function readmeGenerationPrompt(analysis, existingReadme) {
|
|
23
|
+
const context = buildProjectContext(analysis);
|
|
24
|
+
if (existingReadme) {
|
|
25
|
+
return `You are a technical documentation expert. Improve the following README for the project described below.
|
|
26
|
+
|
|
27
|
+
PROJECT CONTEXT:
|
|
28
|
+
${context}
|
|
29
|
+
|
|
30
|
+
EXISTING README:
|
|
31
|
+
${existingReadme}
|
|
32
|
+
|
|
33
|
+
INSTRUCTIONS:
|
|
34
|
+
- Preserve all existing custom content, badges, images, and links.
|
|
35
|
+
- Improve formatting and structure.
|
|
36
|
+
- Fill in missing sections: Features, Installation (with clear clone/install/run steps), Configuration (if env vars), Usage, Contributing.
|
|
37
|
+
- Update outdated information based on the project context.
|
|
38
|
+
- Do NOT invent features not supported by the project context.
|
|
39
|
+
- Do NOT overwrite custom sections the user has written.
|
|
40
|
+
- Use professional Markdown formatting.
|
|
41
|
+
- Return ONLY the improved README content, no explanations.`;
|
|
42
|
+
}
|
|
43
|
+
return `You are a technical documentation expert. Generate a professional README.md for the following project.
|
|
44
|
+
|
|
45
|
+
PROJECT CONTEXT:
|
|
46
|
+
${context}
|
|
47
|
+
|
|
48
|
+
INSTRUCTIONS:
|
|
49
|
+
- Include these sections in order: Title, Description, Features, Tech Stack, Installation, Configuration (if env vars exist), Usage, API Documentation (if APIs detected), Contributing, License.
|
|
50
|
+
- Installation: Show clear step-by-step commands (clone → cd → install dependencies → run).
|
|
51
|
+
- Usage: Include the main command to run the project (npm start, cargo run, python main.py, etc.).
|
|
52
|
+
- Configuration: If environment variables exist, show a .env example.
|
|
53
|
+
- Only include sections relevant to this project based on the context above.
|
|
54
|
+
- Do NOT invent features, APIs, or capabilities not mentioned in the project context.
|
|
55
|
+
- Use professional Markdown formatting with proper headings, code blocks, and lists.
|
|
56
|
+
- Make the README informative, concise, and developer-friendly.
|
|
57
|
+
- Return ONLY the README content, no explanations or preamble.`;
|
|
58
|
+
}
|
|
59
|
+
export function commitMessagePrompt(changes) {
|
|
60
|
+
return `Generate a concise git commit message following Conventional Commits format for these changes:
|
|
61
|
+
|
|
62
|
+
${changes}
|
|
63
|
+
|
|
64
|
+
Rules:
|
|
65
|
+
- Use format: type(scope): description
|
|
66
|
+
- Types: feat, fix, docs, refactor, chore, style, test, build, ci, perf
|
|
67
|
+
- Keep the first line under 72 characters.
|
|
68
|
+
- Be specific about what changed.
|
|
69
|
+
- Return ONLY the commit message, nothing else.`;
|
|
70
|
+
}
|
|
71
|
+
export function linkedinPostPrompt(analysis, style) {
|
|
72
|
+
const context = buildProjectContext(analysis);
|
|
73
|
+
const lengthGuide = {
|
|
74
|
+
short: '3-5 sentences, punchy and direct',
|
|
75
|
+
medium: '1-2 paragraphs, balanced detail',
|
|
76
|
+
long: '3-4 paragraphs, detailed narrative',
|
|
77
|
+
};
|
|
78
|
+
return `Generate a professional LinkedIn post announcing the project described below.
|
|
79
|
+
|
|
80
|
+
PROJECT CONTEXT:
|
|
81
|
+
${context}
|
|
82
|
+
|
|
83
|
+
STYLE: ${style} (${lengthGuide[style]})
|
|
84
|
+
|
|
85
|
+
INCLUDE:
|
|
86
|
+
- Attention-grabbing opening hook
|
|
87
|
+
- What problem the project solves
|
|
88
|
+
- Key features/technologies
|
|
89
|
+
- A development highlight or lesson learned
|
|
90
|
+
- [GITHUB_LINK] placeholder for the repo URL
|
|
91
|
+
- Call to action
|
|
92
|
+
- 3-5 relevant hashtags at the end
|
|
93
|
+
|
|
94
|
+
Return ONLY the LinkedIn post text, no explanations.`;
|
|
95
|
+
}
|
|
96
|
+
export function twitterPostPrompt(analysis) {
|
|
97
|
+
const context = buildProjectContext(analysis);
|
|
98
|
+
return `Generate a concise X (Twitter) post (max 280 characters) announcing this project:
|
|
99
|
+
|
|
100
|
+
PROJECT CONTEXT:
|
|
101
|
+
${context}
|
|
102
|
+
|
|
103
|
+
Include:
|
|
104
|
+
- What it does in one line
|
|
105
|
+
- 1-2 key technologies
|
|
106
|
+
- [GITHUB_LINK] placeholder
|
|
107
|
+
- 2-3 hashtags
|
|
108
|
+
|
|
109
|
+
Return ONLY the tweet text, no explanations.`;
|
|
110
|
+
}
|
|
111
|
+
export function projectSummaryPrompt(analysis) {
|
|
112
|
+
const context = buildProjectContext(analysis);
|
|
113
|
+
return `Generate a PROJECT_SUMMARY.md for the following project. This should be a concise technical overview for developers.
|
|
114
|
+
|
|
115
|
+
PROJECT CONTEXT:
|
|
116
|
+
${context}
|
|
117
|
+
|
|
118
|
+
Include:
|
|
119
|
+
- Overview (2-3 sentences)
|
|
120
|
+
- Key Technologies
|
|
121
|
+
- Architecture overview
|
|
122
|
+
- Main features
|
|
123
|
+
- Development setup (brief)
|
|
124
|
+
- Key design decisions (inferred from tech stack)
|
|
125
|
+
|
|
126
|
+
Return ONLY the Markdown content.`;
|
|
127
|
+
}
|
|
128
|
+
export function architectureDocPrompt(analysis, folderStructure) {
|
|
129
|
+
const context = buildProjectContext(analysis);
|
|
130
|
+
return `Generate an ARCHITECTURE.md for the following project.
|
|
131
|
+
|
|
132
|
+
PROJECT CONTEXT:
|
|
133
|
+
${context}
|
|
134
|
+
|
|
135
|
+
FOLDER STRUCTURE:
|
|
136
|
+
${folderStructure}
|
|
137
|
+
|
|
138
|
+
Include:
|
|
139
|
+
- High-level architecture diagram (text-based)
|
|
140
|
+
- Component descriptions
|
|
141
|
+
- Data flow
|
|
142
|
+
- Key patterns used
|
|
143
|
+
- Technology choices and rationale
|
|
144
|
+
|
|
145
|
+
Return ONLY the Markdown content.`;
|
|
146
|
+
}
|
|
147
|
+
export function insightsPrompt(analysis) {
|
|
148
|
+
const context = buildProjectContext(analysis);
|
|
149
|
+
return `Analyze the following project and provide insights. Score each area from 1-10 and provide brief explanations.
|
|
150
|
+
|
|
151
|
+
PROJECT CONTEXT:
|
|
152
|
+
${context}
|
|
153
|
+
|
|
154
|
+
Provide JSON output with this structure:
|
|
155
|
+
{
|
|
156
|
+
"documentation_score": { "score": 0, "reason": "" },
|
|
157
|
+
"code_quality_score": { "score": 0, "reason": "" },
|
|
158
|
+
"maintainability_score": { "score": 0, "reason": "" },
|
|
159
|
+
"suggestions": [""],
|
|
160
|
+
"performance_recommendations": [""],
|
|
161
|
+
"security_observations": [""],
|
|
162
|
+
"missing_tests": [""],
|
|
163
|
+
"missing_documentation": [""],
|
|
164
|
+
"todo_summary": [""]
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
Be honest and constructive. Return ONLY valid JSON.`;
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/ai/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface AIMessage {
|
|
2
|
+
role: 'system' | 'user' | 'assistant';
|
|
3
|
+
content: string;
|
|
4
|
+
}
|
|
5
|
+
export interface AIResponse {
|
|
6
|
+
content: string;
|
|
7
|
+
provider: string;
|
|
8
|
+
model: string;
|
|
9
|
+
}
|
|
10
|
+
export interface AIProvider {
|
|
11
|
+
name: string;
|
|
12
|
+
generate(messages: AIMessage[], options?: {
|
|
13
|
+
temperature?: number;
|
|
14
|
+
maxTokens?: number;
|
|
15
|
+
}): Promise<AIResponse>;
|
|
16
|
+
isConfigured(): boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare function getProvider(name?: string): AIProvider;
|
|
19
|
+
export declare function listProviders(): {
|
|
20
|
+
name: string;
|
|
21
|
+
configured: boolean;
|
|
22
|
+
defaultModel: string;
|
|
23
|
+
}[];
|
|
24
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7G,YAAY,IAAI,OAAO,CAAC;CACzB;AAmXD,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAiBrD;AAED,wBAAgB,aAAa,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EAAE,CAsB7F"}
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
import { getAIConfig } from '../config/manager.js';
|
|
2
|
+
// ─── Helpers ────────────────────────────────────────────────────────────────
|
|
3
|
+
/** OpenAI-compatible chat completions — used by OpenAI, Groq, DeepSeek,
|
|
4
|
+
* Perplexity, Together AI, xAI and OpenRouter (they all share the same shape). */
|
|
5
|
+
async function openAICompatPost(url, apiKey, model, messages, options, extraHeaders = {}) {
|
|
6
|
+
const response = await fetch(url, {
|
|
7
|
+
method: 'POST',
|
|
8
|
+
headers: {
|
|
9
|
+
'Content-Type': 'application/json',
|
|
10
|
+
Authorization: `Bearer ${apiKey}`,
|
|
11
|
+
...extraHeaders,
|
|
12
|
+
},
|
|
13
|
+
body: JSON.stringify({
|
|
14
|
+
model,
|
|
15
|
+
messages,
|
|
16
|
+
temperature: options?.temperature ?? 0.7,
|
|
17
|
+
max_tokens: options?.maxTokens ?? 4096,
|
|
18
|
+
}),
|
|
19
|
+
});
|
|
20
|
+
if (!response.ok) {
|
|
21
|
+
const err = await response.text();
|
|
22
|
+
throw new Error(`HTTP ${response.status}: ${err}`);
|
|
23
|
+
}
|
|
24
|
+
const data = (await response.json());
|
|
25
|
+
return data.choices[0].message.content;
|
|
26
|
+
}
|
|
27
|
+
// ─── Original providers ──────────────────────────────────────────────────────
|
|
28
|
+
class OpenAIProvider {
|
|
29
|
+
name = 'openai';
|
|
30
|
+
isConfigured() { return !!getAIConfig().openaiKey; }
|
|
31
|
+
async generate(messages, options) {
|
|
32
|
+
const cfg = getAIConfig();
|
|
33
|
+
const model = cfg.model || 'gpt-4o-mini';
|
|
34
|
+
const content = await openAICompatPost('https://api.openai.com/v1/chat/completions', cfg.openaiKey, model, messages, options);
|
|
35
|
+
return { content, provider: 'openai', model };
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
class AnthropicProvider {
|
|
39
|
+
name = 'anthropic';
|
|
40
|
+
isConfigured() { return !!getAIConfig().anthropicKey; }
|
|
41
|
+
async generate(messages, options) {
|
|
42
|
+
const cfg = getAIConfig();
|
|
43
|
+
const model = cfg.model || 'claude-sonnet-4-20250514';
|
|
44
|
+
const systemMsg = messages.find(m => m.role === 'system');
|
|
45
|
+
const userMessages = messages.filter(m => m.role !== 'system');
|
|
46
|
+
const response = await fetch('https://api.anthropic.com/v1/messages', {
|
|
47
|
+
method: 'POST',
|
|
48
|
+
headers: {
|
|
49
|
+
'Content-Type': 'application/json',
|
|
50
|
+
'x-api-key': cfg.anthropicKey,
|
|
51
|
+
'anthropic-version': '2023-06-01',
|
|
52
|
+
},
|
|
53
|
+
body: JSON.stringify({
|
|
54
|
+
model,
|
|
55
|
+
max_tokens: options?.maxTokens ?? 4096,
|
|
56
|
+
system: systemMsg?.content,
|
|
57
|
+
messages: userMessages.map(m => ({ role: m.role, content: m.content })),
|
|
58
|
+
temperature: options?.temperature ?? 0.7,
|
|
59
|
+
}),
|
|
60
|
+
});
|
|
61
|
+
if (!response.ok)
|
|
62
|
+
throw new Error(`Anthropic ${response.status}: ${await response.text()}`);
|
|
63
|
+
const data = (await response.json());
|
|
64
|
+
return { content: data.content[0].text, provider: 'anthropic', model };
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
class GeminiProvider {
|
|
68
|
+
name = 'gemini';
|
|
69
|
+
isConfigured() { return !!getAIConfig().geminiKey; }
|
|
70
|
+
async generate(messages, options) {
|
|
71
|
+
const cfg = getAIConfig();
|
|
72
|
+
const model = cfg.model || 'gemini-1.5-flash';
|
|
73
|
+
const contents = messages
|
|
74
|
+
.filter(m => m.role !== 'system')
|
|
75
|
+
.map(m => ({ role: m.role === 'assistant' ? 'model' : 'user', parts: [{ text: m.content }] }));
|
|
76
|
+
const systemInstruction = messages.find(m => m.role === 'system');
|
|
77
|
+
const response = await fetch(`https://generativelanguage.googleapis.com/v1beta/models/${model}:generateContent?key=${cfg.geminiKey}`, {
|
|
78
|
+
method: 'POST',
|
|
79
|
+
headers: { 'Content-Type': 'application/json' },
|
|
80
|
+
body: JSON.stringify({
|
|
81
|
+
contents,
|
|
82
|
+
systemInstruction: systemInstruction ? { parts: [{ text: systemInstruction.content }] } : undefined,
|
|
83
|
+
generationConfig: {
|
|
84
|
+
temperature: options?.temperature ?? 0.7,
|
|
85
|
+
maxOutputTokens: options?.maxTokens ?? 4096,
|
|
86
|
+
},
|
|
87
|
+
}),
|
|
88
|
+
});
|
|
89
|
+
if (!response.ok)
|
|
90
|
+
throw new Error(`Gemini ${response.status}: ${await response.text()}`);
|
|
91
|
+
const data = (await response.json());
|
|
92
|
+
return { content: data.candidates[0].content.parts[0].text, provider: 'gemini', model };
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
class OllamaProvider {
|
|
96
|
+
name = 'ollama';
|
|
97
|
+
isConfigured() { return true; } // local — always available
|
|
98
|
+
async generate(messages, options) {
|
|
99
|
+
const cfg = getAIConfig();
|
|
100
|
+
const model = cfg.model || 'llama3.1';
|
|
101
|
+
const response = await fetch(`${cfg.ollamaEndpoint}/api/chat`, {
|
|
102
|
+
method: 'POST',
|
|
103
|
+
headers: { 'Content-Type': 'application/json' },
|
|
104
|
+
body: JSON.stringify({
|
|
105
|
+
model,
|
|
106
|
+
messages,
|
|
107
|
+
stream: false,
|
|
108
|
+
options: { temperature: options?.temperature ?? 0.7, num_predict: options?.maxTokens ?? 4096 },
|
|
109
|
+
}),
|
|
110
|
+
});
|
|
111
|
+
if (!response.ok)
|
|
112
|
+
throw new Error(`Ollama ${response.status}: ${await response.text()}`);
|
|
113
|
+
const data = (await response.json());
|
|
114
|
+
return { content: data.message.content, provider: 'ollama', model };
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
class OpenRouterProvider {
|
|
118
|
+
name = 'openrouter';
|
|
119
|
+
isConfigured() { return !!getAIConfig().openrouterKey; }
|
|
120
|
+
async generate(messages, options) {
|
|
121
|
+
const cfg = getAIConfig();
|
|
122
|
+
const model = cfg.model || 'anthropic/claude-sonnet-4-20250514';
|
|
123
|
+
const content = await openAICompatPost('https://openrouter.ai/api/v1/chat/completions', cfg.openrouterKey, model, messages, options);
|
|
124
|
+
return { content, provider: 'openrouter', model };
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
// ─── New providers ───────────────────────────────────────────────────────────
|
|
128
|
+
class MistralProvider {
|
|
129
|
+
name = 'mistral';
|
|
130
|
+
isConfigured() { return !!getAIConfig().mistralKey; }
|
|
131
|
+
async generate(messages, options) {
|
|
132
|
+
const cfg = getAIConfig();
|
|
133
|
+
const model = cfg.model || 'mistral-large-latest';
|
|
134
|
+
const content = await openAICompatPost('https://api.mistral.ai/v1/chat/completions', cfg.mistralKey, model, messages, options);
|
|
135
|
+
return { content, provider: 'mistral', model };
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
class GroqProvider {
|
|
139
|
+
name = 'groq';
|
|
140
|
+
isConfigured() { return !!getAIConfig().groqKey; }
|
|
141
|
+
async generate(messages, options) {
|
|
142
|
+
const cfg = getAIConfig();
|
|
143
|
+
// Groq's fastest capable model as default
|
|
144
|
+
const model = cfg.model || 'llama-3.3-70b-versatile';
|
|
145
|
+
const content = await openAICompatPost('https://api.groq.com/openai/v1/chat/completions', cfg.groqKey, model, messages, options);
|
|
146
|
+
return { content, provider: 'groq', model };
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
class DeepSeekProvider {
|
|
150
|
+
name = 'deepseek';
|
|
151
|
+
isConfigured() { return !!getAIConfig().deepseekKey; }
|
|
152
|
+
async generate(messages, options) {
|
|
153
|
+
const cfg = getAIConfig();
|
|
154
|
+
const model = cfg.model || 'deepseek-chat';
|
|
155
|
+
const content = await openAICompatPost('https://api.deepseek.com/v1/chat/completions', cfg.deepseekKey, model, messages, options);
|
|
156
|
+
return { content, provider: 'deepseek', model };
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
class PerplexityProvider {
|
|
160
|
+
name = 'perplexity';
|
|
161
|
+
isConfigured() { return !!getAIConfig().perplexityKey; }
|
|
162
|
+
async generate(messages, options) {
|
|
163
|
+
const cfg = getAIConfig();
|
|
164
|
+
const model = cfg.model || 'llama-3.1-sonar-large-128k-online';
|
|
165
|
+
const content = await openAICompatPost('https://api.perplexity.ai/chat/completions', cfg.perplexityKey, model, messages, options);
|
|
166
|
+
return { content, provider: 'perplexity', model };
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
class TogetherProvider {
|
|
170
|
+
name = 'together';
|
|
171
|
+
isConfigured() { return !!getAIConfig().togetherKey; }
|
|
172
|
+
async generate(messages, options) {
|
|
173
|
+
const cfg = getAIConfig();
|
|
174
|
+
const model = cfg.model || 'meta-llama/Llama-3.3-70B-Instruct-Turbo';
|
|
175
|
+
const content = await openAICompatPost('https://api.together.xyz/v1/chat/completions', cfg.togetherKey, model, messages, options);
|
|
176
|
+
return { content, provider: 'together', model };
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
class CohereProvider {
|
|
180
|
+
name = 'cohere';
|
|
181
|
+
isConfigured() { return !!getAIConfig().cohereKey; }
|
|
182
|
+
async generate(messages, options) {
|
|
183
|
+
const cfg = getAIConfig();
|
|
184
|
+
const model = cfg.model || 'command-r-plus-08-2024';
|
|
185
|
+
// Cohere uses a different request shape: system + chat_history + message
|
|
186
|
+
const systemMsg = messages.find(m => m.role === 'system');
|
|
187
|
+
const history = messages
|
|
188
|
+
.filter(m => m.role !== 'system')
|
|
189
|
+
.slice(0, -1) // all but the last
|
|
190
|
+
.map(m => ({ role: m.role === 'assistant' ? 'CHATBOT' : 'USER', message: m.content }));
|
|
191
|
+
const lastMsg = messages.filter(m => m.role !== 'system').at(-1);
|
|
192
|
+
const response = await fetch('https://api.cohere.com/v1/chat', {
|
|
193
|
+
method: 'POST',
|
|
194
|
+
headers: {
|
|
195
|
+
'Content-Type': 'application/json',
|
|
196
|
+
Authorization: `Bearer ${cfg.cohereKey}`,
|
|
197
|
+
},
|
|
198
|
+
body: JSON.stringify({
|
|
199
|
+
model,
|
|
200
|
+
message: lastMsg?.content ?? '',
|
|
201
|
+
preamble: systemMsg?.content,
|
|
202
|
+
chat_history: history,
|
|
203
|
+
temperature: options?.temperature ?? 0.7,
|
|
204
|
+
max_tokens: options?.maxTokens ?? 4096,
|
|
205
|
+
}),
|
|
206
|
+
});
|
|
207
|
+
if (!response.ok)
|
|
208
|
+
throw new Error(`Cohere ${response.status}: ${await response.text()}`);
|
|
209
|
+
const data = (await response.json());
|
|
210
|
+
return { content: data.text, provider: 'cohere', model };
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
class XAIProvider {
|
|
214
|
+
name = 'xai';
|
|
215
|
+
isConfigured() { return !!getAIConfig().xaiKey; }
|
|
216
|
+
async generate(messages, options) {
|
|
217
|
+
const cfg = getAIConfig();
|
|
218
|
+
const model = cfg.model || 'grok-3-fast-beta';
|
|
219
|
+
// xAI's API is OpenAI-compatible
|
|
220
|
+
const content = await openAICompatPost('https://api.x.ai/v1/chat/completions', cfg.xaiKey, model, messages, options);
|
|
221
|
+
return { content, provider: 'xai', model };
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
class AzureOpenAIProvider {
|
|
225
|
+
name = 'azure-openai';
|
|
226
|
+
isConfigured() {
|
|
227
|
+
const cfg = getAIConfig();
|
|
228
|
+
return !!(cfg.azureOpenAIKey && cfg.azureOpenAIEndpoint && cfg.azureOpenAIDeployment);
|
|
229
|
+
}
|
|
230
|
+
async generate(messages, options) {
|
|
231
|
+
const cfg = getAIConfig();
|
|
232
|
+
const deployment = cfg.azureOpenAIDeployment;
|
|
233
|
+
const apiVersion = cfg.azureOpenAIApiVersion;
|
|
234
|
+
const endpoint = cfg.azureOpenAIEndpoint.replace(/\/$/, '');
|
|
235
|
+
const url = `${endpoint}/openai/deployments/${deployment}/chat/completions?api-version=${apiVersion}`;
|
|
236
|
+
const response = await fetch(url, {
|
|
237
|
+
method: 'POST',
|
|
238
|
+
headers: {
|
|
239
|
+
'Content-Type': 'application/json',
|
|
240
|
+
'api-key': cfg.azureOpenAIKey,
|
|
241
|
+
},
|
|
242
|
+
body: JSON.stringify({
|
|
243
|
+
messages,
|
|
244
|
+
temperature: options?.temperature ?? 0.7,
|
|
245
|
+
max_tokens: options?.maxTokens ?? 4096,
|
|
246
|
+
}),
|
|
247
|
+
});
|
|
248
|
+
if (!response.ok)
|
|
249
|
+
throw new Error(`Azure OpenAI ${response.status}: ${await response.text()}`);
|
|
250
|
+
const data = (await response.json());
|
|
251
|
+
return { content: data.choices[0].message.content, provider: 'azure-openai', model: deployment };
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
// ─── Registry ────────────────────────────────────────────────────────────────
|
|
255
|
+
const providers = {
|
|
256
|
+
openai: new OpenAIProvider(),
|
|
257
|
+
anthropic: new AnthropicProvider(),
|
|
258
|
+
gemini: new GeminiProvider(),
|
|
259
|
+
ollama: new OllamaProvider(),
|
|
260
|
+
openrouter: new OpenRouterProvider(),
|
|
261
|
+
mistral: new MistralProvider(),
|
|
262
|
+
groq: new GroqProvider(),
|
|
263
|
+
deepseek: new DeepSeekProvider(),
|
|
264
|
+
perplexity: new PerplexityProvider(),
|
|
265
|
+
together: new TogetherProvider(),
|
|
266
|
+
cohere: new CohereProvider(),
|
|
267
|
+
xai: new XAIProvider(),
|
|
268
|
+
'azure-openai': new AzureOpenAIProvider(),
|
|
269
|
+
};
|
|
270
|
+
export function getProvider(name) {
|
|
271
|
+
const cfg = getAIConfig();
|
|
272
|
+
const providerName = name || cfg.provider;
|
|
273
|
+
const provider = providers[providerName];
|
|
274
|
+
if (!provider) {
|
|
275
|
+
throw new Error(`Unknown provider: "${providerName}". Available: ${Object.keys(providers).join(', ')}`);
|
|
276
|
+
}
|
|
277
|
+
if (!provider.isConfigured()) {
|
|
278
|
+
throw new Error(`Provider "${providerName}" is not configured. ` +
|
|
279
|
+
`Run "autogit config" or set the matching environment variable.`);
|
|
280
|
+
}
|
|
281
|
+
return provider;
|
|
282
|
+
}
|
|
283
|
+
export function listProviders() {
|
|
284
|
+
const defaults = {
|
|
285
|
+
openai: 'gpt-4o-mini',
|
|
286
|
+
anthropic: 'claude-sonnet-4-20250514',
|
|
287
|
+
gemini: 'gemini-1.5-flash',
|
|
288
|
+
ollama: 'llama3.1',
|
|
289
|
+
openrouter: 'anthropic/claude-sonnet-4-20250514',
|
|
290
|
+
mistral: 'mistral-large-latest',
|
|
291
|
+
groq: 'llama-3.3-70b-versatile',
|
|
292
|
+
deepseek: 'deepseek-chat',
|
|
293
|
+
perplexity: 'llama-3.1-sonar-large-128k-online',
|
|
294
|
+
together: 'meta-llama/Llama-3.3-70B-Instruct-Turbo',
|
|
295
|
+
cohere: 'command-r-plus-08-2024',
|
|
296
|
+
xai: 'grok-3-fast-beta',
|
|
297
|
+
'azure-openai': '(your deployment name)',
|
|
298
|
+
};
|
|
299
|
+
return Object.entries(providers).map(([name, p]) => ({
|
|
300
|
+
name,
|
|
301
|
+
configured: p.isConfigured(),
|
|
302
|
+
defaultModel: defaults[name] ?? '',
|
|
303
|
+
}));
|
|
304
|
+
}
|
|
305
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAmBnD,+EAA+E;AAE/E;mFACmF;AACnF,KAAK,UAAU,gBAAgB,CAC7B,GAAW,EACX,MAAc,EACd,KAAa,EACb,QAAqB,EACrB,OAAsD,EACtD,eAAuC,EAAE;IAEzC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,MAAM,EAAE;YACjC,GAAG,YAAY;SAChB;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,KAAK;YACL,QAAQ;YACR,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,GAAG;YACxC,UAAU,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;SACvC,CAAC;KACH,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;IAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAiB,CAAC;AACnD,CAAC;AAED,gFAAgF;AAEhF,MAAM,cAAc;IAClB,IAAI,GAAG,QAAQ,CAAC;IAChB,YAAY,KAAK,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEpD,KAAK,CAAC,QAAQ,CAAC,QAAqB,EAAE,OAAsD;QAC1F,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,aAAa,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,4CAA4C,EAC5C,GAAG,CAAC,SAAU,EACd,KAAK,EACL,QAAQ,EACR,OAAO,CACR,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAChD,CAAC;CACF;AAED,MAAM,iBAAiB;IACrB,IAAI,GAAG,WAAW,CAAC;IACnB,YAAY,KAAK,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEvD,KAAK,CAAC,QAAQ,CAAC,QAAqB,EAAE,OAAsD;QAC1F,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,0BAA0B,CAAC;QAEtD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAE/D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,uCAAuC,EAAE;YACpE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,WAAW,EAAE,GAAG,CAAC,YAAa;gBAC9B,mBAAmB,EAAE,YAAY;aAClC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK;gBACL,UAAU,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;gBACtC,MAAM,EAAE,SAAS,EAAE,OAAO;gBAC1B,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACvE,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,GAAG;aACzC,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,CAAC,MAAM,KAAK,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5F,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;QAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IACzE,CAAC;CACF;AAED,MAAM,cAAc;IAClB,IAAI,GAAG,QAAQ,CAAC;IAChB,YAAY,KAAK,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEpD,KAAK,CAAC,QAAQ,CAAC,QAAqB,EAAE,OAAsD;QAC1F,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,kBAAkB,CAAC;QAE9C,MAAM,QAAQ,GAAG,QAAQ;aACtB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEjG,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAElE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,2DAA2D,KAAK,wBAAwB,GAAG,CAAC,SAAS,EAAE,EACvG;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,QAAQ;gBACR,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;gBACnG,gBAAgB,EAAE;oBAChB,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,GAAG;oBACxC,eAAe,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;iBAC5C;aACF,CAAC;SACH,CACF,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,CAAC,MAAM,KAAK,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzF,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;QAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC1F,CAAC;CACF;AAED,MAAM,cAAc;IAClB,IAAI,GAAG,QAAQ,CAAC;IAChB,YAAY,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,2BAA2B;IAE3D,KAAK,CAAC,QAAQ,CAAC,QAAqB,EAAE,OAAsD;QAC1F,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,UAAU,CAAC;QAEtC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,CAAC,cAAc,WAAW,EAAE;YAC7D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK;gBACL,QAAQ;gBACR,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE;aAC/F,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,CAAC,MAAM,KAAK,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzF,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;QAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACtE,CAAC;CACF;AAED,MAAM,kBAAkB;IACtB,IAAI,GAAG,YAAY,CAAC;IACpB,YAAY,KAAK,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAExD,KAAK,CAAC,QAAQ,CAAC,QAAqB,EAAE,OAAsD;QAC1F,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,oCAAoC,CAAC;QAChE,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,+CAA+C,EAC/C,GAAG,CAAC,aAAc,EAClB,KAAK,EACL,QAAQ,EACR,OAAO,CACR,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IACpD,CAAC;CACF;AAED,gFAAgF;AAEhF,MAAM,eAAe;IACnB,IAAI,GAAG,SAAS,CAAC;IACjB,YAAY,KAAK,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAErD,KAAK,CAAC,QAAQ,CAAC,QAAqB,EAAE,OAAsD;QAC1F,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,sBAAsB,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,4CAA4C,EAC5C,GAAG,CAAC,UAAW,EACf,KAAK,EACL,QAAQ,EACR,OAAO,CACR,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACjD,CAAC;CACF;AAED,MAAM,YAAY;IAChB,IAAI,GAAG,MAAM,CAAC;IACd,YAAY,KAAK,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAElD,KAAK,CAAC,QAAQ,CAAC,QAAqB,EAAE,OAAsD;QAC1F,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;QAC1B,0CAA0C;QAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,yBAAyB,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,iDAAiD,EACjD,GAAG,CAAC,OAAQ,EACZ,KAAK,EACL,QAAQ,EACR,OAAO,CACR,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC9C,CAAC;CACF;AAED,MAAM,gBAAgB;IACpB,IAAI,GAAG,UAAU,CAAC;IAClB,YAAY,KAAK,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAEtD,KAAK,CAAC,QAAQ,CAAC,QAAqB,EAAE,OAAsD;QAC1F,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,eAAe,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,8CAA8C,EAC9C,GAAG,CAAC,WAAY,EAChB,KAAK,EACL,QAAQ,EACR,OAAO,CACR,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAClD,CAAC;CACF;AAED,MAAM,kBAAkB;IACtB,IAAI,GAAG,YAAY,CAAC;IACpB,YAAY,KAAK,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAExD,KAAK,CAAC,QAAQ,CAAC,QAAqB,EAAE,OAAsD;QAC1F,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,mCAAmC,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,4CAA4C,EAC5C,GAAG,CAAC,aAAc,EAClB,KAAK,EACL,QAAQ,EACR,OAAO,CACR,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IACpD,CAAC;CACF;AAED,MAAM,gBAAgB;IACpB,IAAI,GAAG,UAAU,CAAC;IAClB,YAAY,KAAK,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAEtD,KAAK,CAAC,QAAQ,CAAC,QAAqB,EAAE,OAAsD;QAC1F,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,yCAAyC,CAAC;QACrE,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,8CAA8C,EAC9C,GAAG,CAAC,WAAY,EAChB,KAAK,EACL,QAAQ,EACR,OAAO,CACR,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAClD,CAAC;CACF;AAED,MAAM,cAAc;IAClB,IAAI,GAAG,QAAQ,CAAC;IAChB,YAAY,KAAK,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEpD,KAAK,CAAC,QAAQ,CAAC,QAAqB,EAAE,OAAsD;QAC1F,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,wBAAwB,CAAC;QAEpD,yEAAyE;QACzE,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,QAAQ;aACrB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;aAChC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,mBAAmB;aACjC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACzF,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,gCAAgC,EAAE;YAC7D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,GAAG,CAAC,SAAS,EAAE;aACzC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK;gBACL,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE;gBAC/B,QAAQ,EAAE,SAAS,EAAE,OAAO;gBAC5B,YAAY,EAAE,OAAO;gBACrB,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,GAAG;gBACxC,UAAU,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;aACvC,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,CAAC,MAAM,KAAK,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzF,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;QAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC3D,CAAC;CACF;AAED,MAAM,WAAW;IACf,IAAI,GAAG,KAAK,CAAC;IACb,YAAY,KAAK,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEjD,KAAK,CAAC,QAAQ,CAAC,QAAqB,EAAE,OAAsD;QAC1F,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,kBAAkB,CAAC;QAC9C,iCAAiC;QACjC,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,sCAAsC,EACtC,GAAG,CAAC,MAAO,EACX,KAAK,EACL,QAAQ,EACR,OAAO,CACR,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,mBAAmB;IACvB,IAAI,GAAG,cAAc,CAAC;IACtB,YAAY;QACV,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,mBAAmB,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAqB,EAAE,OAAsD;QAC1F,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,GAAG,CAAC,qBAAsB,CAAC;QAC9C,MAAM,UAAU,GAAG,GAAG,CAAC,qBAAsB,CAAC;QAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,mBAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,GAAG,QAAQ,uBAAuB,UAAU,iCAAiC,UAAU,EAAE,CAAC;QAEtG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,SAAS,EAAE,GAAG,CAAC,cAAe;aAC/B;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,QAAQ;gBACR,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,GAAG;gBACxC,UAAU,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;aACvC,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,QAAQ,CAAC,MAAM,KAAK,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/F,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;QAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IACnG,CAAC;CACF;AAED,gFAAgF;AAEhF,MAAM,SAAS,GAA+B;IAC5C,MAAM,EAAQ,IAAI,cAAc,EAAE;IAClC,SAAS,EAAK,IAAI,iBAAiB,EAAE;IACrC,MAAM,EAAQ,IAAI,cAAc,EAAE;IAClC,MAAM,EAAQ,IAAI,cAAc,EAAE;IAClC,UAAU,EAAI,IAAI,kBAAkB,EAAE;IACtC,OAAO,EAAO,IAAI,eAAe,EAAE;IACnC,IAAI,EAAU,IAAI,YAAY,EAAE;IAChC,QAAQ,EAAM,IAAI,gBAAgB,EAAE;IACpC,UAAU,EAAI,IAAI,kBAAkB,EAAE;IACtC,QAAQ,EAAM,IAAI,gBAAgB,EAAE;IACpC,MAAM,EAAQ,IAAI,cAAc,EAAE;IAClC,GAAG,EAAW,IAAI,WAAW,EAAE;IAC/B,cAAc,EAAE,IAAI,mBAAmB,EAAE;CAC1C,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,IAAa;IACvC,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAC1B,MAAM,YAAY,GAAG,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;IAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;IAEzC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,sBAAsB,YAAY,iBAAiB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,aAAa,YAAY,uBAAuB;YAChD,gEAAgE,CACjE,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,MAAM,QAAQ,GAA2B;QACvC,MAAM,EAAU,aAAa;QAC7B,SAAS,EAAO,0BAA0B;QAC1C,MAAM,EAAU,kBAAkB;QAClC,MAAM,EAAU,UAAU;QAC1B,UAAU,EAAM,oCAAoC;QACpD,OAAO,EAAS,sBAAsB;QACtC,IAAI,EAAY,yBAAyB;QACzC,QAAQ,EAAQ,eAAe;QAC/B,UAAU,EAAM,mCAAmC;QACnD,QAAQ,EAAQ,yCAAyC;QACzD,MAAM,EAAU,wBAAwB;QACxC,GAAG,EAAa,kBAAkB;QAClC,cAAc,EAAE,wBAAwB;KACzC,CAAC;IAEF,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI;QACJ,UAAU,EAAE,CAAC,CAAC,YAAY,EAAE;QAC5B,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;KACnC,CAAC,CAAC,CAAC;AACN,CAAC"}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|