codevf 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/ARCHITECTURE.md +285 -0
- package/BUILD_SUMMARY.md +340 -0
- package/LICENSE +21 -0
- package/QUICKSTART.md +180 -0
- package/README.md +104 -0
- package/dist/commands/fix.d.ts +2 -0
- package/dist/commands/fix.d.ts.map +1 -0
- package/dist/commands/fix.js +118 -0
- package/dist/commands/fix.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 +270 -0
- package/dist/commands/init.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 +62 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +2 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/logout.js +14 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/sync.d.ts +4 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +93 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/tasks.d.ts +2 -0
- package/dist/commands/tasks.d.ts.map +1 -0
- package/dist/commands/tasks.js +41 -0
- package/dist/commands/tasks.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +248 -0
- package/dist/index.js.map +1 -0
- package/dist/modules/api.d.ts +36 -0
- package/dist/modules/api.d.ts.map +1 -0
- package/dist/modules/api.js +107 -0
- package/dist/modules/api.js.map +1 -0
- package/dist/modules/auth.d.ts +13 -0
- package/dist/modules/auth.d.ts.map +1 -0
- package/dist/modules/auth.js +80 -0
- package/dist/modules/auth.js.map +1 -0
- package/dist/modules/config.d.ts +17 -0
- package/dist/modules/config.d.ts.map +1 -0
- package/dist/modules/config.js +76 -0
- package/dist/modules/config.js.map +1 -0
- package/dist/modules/git.d.ts +13 -0
- package/dist/modules/git.d.ts.map +1 -0
- package/dist/modules/git.js +78 -0
- package/dist/modules/git.js.map +1 -0
- package/dist/modules/permissions.d.ts +5 -0
- package/dist/modules/permissions.d.ts.map +1 -0
- package/dist/modules/permissions.js +42 -0
- package/dist/modules/permissions.js.map +1 -0
- package/dist/modules/websocket.d.ts +17 -0
- package/dist/modules/websocket.d.ts.map +1 -0
- package/dist/modules/websocket.js +80 -0
- package/dist/modules/websocket.js.map +1 -0
- package/dist/types/index.d.ts +186 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +40 -0
- package/dist/types/index.js.map +1 -0
- package/dist/ui/LiveSession.d.ts +13 -0
- package/dist/ui/LiveSession.d.ts.map +1 -0
- package/dist/ui/LiveSession.js +451 -0
- package/dist/ui/LiveSession.js.map +1 -0
- package/dist/utils/detect.d.ts +3 -0
- package/dist/utils/detect.d.ts.map +1 -0
- package/dist/utils/detect.js +78 -0
- package/dist/utils/detect.js.map +1 -0
- package/dist/utils/errors.d.ts +3 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +36 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/upload.d.ts +3 -0
- package/dist/utils/upload.d.ts.map +1 -0
- package/dist/utils/upload.js +75 -0
- package/dist/utils/upload.js.map +1 -0
- package/package.json +76 -0
package/QUICKSTART.md
ADDED
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
# Quick Start Guide
|
|
2
|
+
|
|
3
|
+
Get up and running with CodeVF CLI in 5 minutes.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
### From NPM (when published)
|
|
8
|
+
```bash
|
|
9
|
+
npm install -g codevf-cli
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
### From Source
|
|
13
|
+
```bash
|
|
14
|
+
git clone https://github.com/codevf/cli.git
|
|
15
|
+
cd cli
|
|
16
|
+
npm install
|
|
17
|
+
npm run build
|
|
18
|
+
npm link
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Basic Usage
|
|
22
|
+
|
|
23
|
+
### 1. Login
|
|
24
|
+
```bash
|
|
25
|
+
codevf login
|
|
26
|
+
```
|
|
27
|
+
This will open your browser for OAuth authentication.
|
|
28
|
+
|
|
29
|
+
### 2. Initialize Your Project
|
|
30
|
+
```bash
|
|
31
|
+
cd /path/to/your/project
|
|
32
|
+
codevf init
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
You'll be asked:
|
|
36
|
+
- Project type (auto-detected)
|
|
37
|
+
- Test command
|
|
38
|
+
- Build command
|
|
39
|
+
- Allowed AI tools
|
|
40
|
+
- Whether to upload code snapshot
|
|
41
|
+
- Whether to allow engineer access to `codevf` branch
|
|
42
|
+
|
|
43
|
+
### 3. Start a Debug Session
|
|
44
|
+
```bash
|
|
45
|
+
codevf fix "Users can't login after OAuth update"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
You'll be connected to a vetted engineer in real-time. The engineer can:
|
|
49
|
+
- Chat with you
|
|
50
|
+
- Request to run commands (requires your approval)
|
|
51
|
+
- Request to view files (requires your approval)
|
|
52
|
+
- Request screenshare (optional)
|
|
53
|
+
|
|
54
|
+
**Example session:**
|
|
55
|
+
```
|
|
56
|
+
┌─────────────────────────────────────────────┐
|
|
57
|
+
│ CodeVF Live Session │
|
|
58
|
+
│ Engineer: Maria (ex-Google) │
|
|
59
|
+
│ Billing: 1 credit used • Press CTRL+C │
|
|
60
|
+
├─────────────────────────────────────────────┤
|
|
61
|
+
│ [12:34] Maria: Hi! I see you're having │
|
|
62
|
+
│ authentication issues... │
|
|
63
|
+
│ │
|
|
64
|
+
│ [12:35] You: Yes, after the OAuth change │
|
|
65
|
+
│ │
|
|
66
|
+
│ [12:36] Maria: Let me check your auth flow │
|
|
67
|
+
│ │
|
|
68
|
+
│ ┌─────────────────────────────────────────┐ │
|
|
69
|
+
│ │ Engineer requests to run: npm test │ │
|
|
70
|
+
│ │ Allow? (y/n): │ │
|
|
71
|
+
│ └─────────────────────────────────────────┘ │
|
|
72
|
+
└─────────────────────────────────────────────┘
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Press **CTRL+C** to end the session and rate the engineer.
|
|
76
|
+
|
|
77
|
+
### 4. Sync Your Changes
|
|
78
|
+
```bash
|
|
79
|
+
codevf sync
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
This syncs your latest commits with CodeVF so engineers can see your latest changes.
|
|
83
|
+
|
|
84
|
+
## Common Workflows
|
|
85
|
+
|
|
86
|
+
### Bug Fix Workflow
|
|
87
|
+
```bash
|
|
88
|
+
# 1. Work on your code
|
|
89
|
+
git add .
|
|
90
|
+
git commit -m "Attempted fix for auth bug"
|
|
91
|
+
|
|
92
|
+
# 2. Sync changes
|
|
93
|
+
codevf sync
|
|
94
|
+
|
|
95
|
+
# 3. Get help
|
|
96
|
+
codevf fix "Auth still failing on production"
|
|
97
|
+
|
|
98
|
+
# 4. Engineer helps debug in real-time
|
|
99
|
+
# 5. Rate the engineer when done
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### New Feature Help
|
|
103
|
+
```bash
|
|
104
|
+
# 1. Start a session
|
|
105
|
+
codevf fix "Need to implement real-time notifications with WebSockets"
|
|
106
|
+
|
|
107
|
+
# 2. Engineer helps architect and implement
|
|
108
|
+
# 3. Sync your work as you go
|
|
109
|
+
codevf sync
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Security & Permissions
|
|
113
|
+
|
|
114
|
+
Every action an engineer takes requires your approval:
|
|
115
|
+
|
|
116
|
+
- **Commands**: Engineer sees output only if you approve
|
|
117
|
+
- **Files**: Engineer can only read files you share
|
|
118
|
+
- **Branch**: Engineers work in the `codevf` branch only
|
|
119
|
+
- **Code Upload**: Only if you opt-in during `init`
|
|
120
|
+
|
|
121
|
+
## Billing
|
|
122
|
+
|
|
123
|
+
- Billed per minute of active engineer time
|
|
124
|
+
- Credits displayed in real-time
|
|
125
|
+
- No charge for waiting time
|
|
126
|
+
- Rate engineer when done
|
|
127
|
+
|
|
128
|
+
## Configuration
|
|
129
|
+
|
|
130
|
+
### Project Config (`.codevf/config.json`)
|
|
131
|
+
```json
|
|
132
|
+
{
|
|
133
|
+
"projectId": "uuid",
|
|
134
|
+
"allowedTools": ["claude", "gemini"],
|
|
135
|
+
"testCommand": "npm test",
|
|
136
|
+
"buildCommand": "npm run build",
|
|
137
|
+
"repoUploaded": true,
|
|
138
|
+
"branchMode": "codevf",
|
|
139
|
+
"createdAt": "2025-11-30T...",
|
|
140
|
+
"version": "1"
|
|
141
|
+
}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Auth Token (`~/.config/codevf/auth.json`)
|
|
145
|
+
- Stored securely with 0600 permissions
|
|
146
|
+
- Auto-refreshed when expired
|
|
147
|
+
- Never logged or exposed
|
|
148
|
+
|
|
149
|
+
## Troubleshooting
|
|
150
|
+
|
|
151
|
+
### "Not authenticated"
|
|
152
|
+
```bash
|
|
153
|
+
codevf login
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### "No CodeVF project found"
|
|
157
|
+
```bash
|
|
158
|
+
codevf init
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### "Not on codevf branch"
|
|
162
|
+
```bash
|
|
163
|
+
git checkout -b codevf
|
|
164
|
+
codevf sync
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Connection issues
|
|
168
|
+
Check your internet connection and firewall settings.
|
|
169
|
+
|
|
170
|
+
## Next Steps
|
|
171
|
+
|
|
172
|
+
- Read the [full documentation](https://docs.codevf.com)
|
|
173
|
+
- Join our [Discord community](https://discord.gg/codevf)
|
|
174
|
+
- Follow us on [Twitter](https://twitter.com/codevf)
|
|
175
|
+
|
|
176
|
+
## Support
|
|
177
|
+
|
|
178
|
+
- **Email**: support@codevf.com
|
|
179
|
+
- **Issues**: https://github.com/codevf/cli/issues
|
|
180
|
+
- **Docs**: https://docs.codevf.com
|
package/README.md
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# CodeVF CLI
|
|
2
|
+
|
|
3
|
+
Live debugging with vetted engineers, right from your terminal.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g codevf-cli
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Authenticate
|
|
15
|
+
codevf login
|
|
16
|
+
|
|
17
|
+
# Initialize your project
|
|
18
|
+
codevf init
|
|
19
|
+
|
|
20
|
+
# Start a live debugging session (interactive)
|
|
21
|
+
codevf
|
|
22
|
+
|
|
23
|
+
# Or provide issue directly
|
|
24
|
+
codevf fix "Users can't login after OAuth update"
|
|
25
|
+
|
|
26
|
+
# Sync your code changes
|
|
27
|
+
codevf sync
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Commands
|
|
31
|
+
|
|
32
|
+
### `codevf login`
|
|
33
|
+
Authenticate with CodeVF using OAuth.
|
|
34
|
+
|
|
35
|
+
### `codevf logout`
|
|
36
|
+
Clear local authentication.
|
|
37
|
+
|
|
38
|
+
### `codevf init`
|
|
39
|
+
Initialize CodeVF in your project. Sets up:
|
|
40
|
+
- Project configuration
|
|
41
|
+
- Test and build commands
|
|
42
|
+
- AI tool preferences
|
|
43
|
+
- Optional code upload for faster debugging
|
|
44
|
+
|
|
45
|
+
### `codevf` or `codevf fix "<issue description>"`
|
|
46
|
+
Start a live debugging session with a vetted engineer:
|
|
47
|
+
- Just type `codevf` and you'll be prompted to describe your issue
|
|
48
|
+
- Or use `codevf fix "issue"` to provide it directly
|
|
49
|
+
- Real-time chat in your terminal
|
|
50
|
+
- Engineer can request to run commands (with your approval)
|
|
51
|
+
- Engineer can request to view files (with your approval)
|
|
52
|
+
- Track credit usage in real-time
|
|
53
|
+
- Rate the engineer when done
|
|
54
|
+
|
|
55
|
+
### `codevf sync`
|
|
56
|
+
Sync your local changes to the `codevf` branch for engineer access.
|
|
57
|
+
|
|
58
|
+
## How It Works
|
|
59
|
+
|
|
60
|
+
1. **You have a bug** - Start a session with `codevf fix "description"`
|
|
61
|
+
2. **Get matched with an engineer** - Ex-FAANG engineers with expertise in your stack
|
|
62
|
+
3. **Collaborate safely** - Engineer can only run commands and view files with your approval
|
|
63
|
+
4. **Get it fixed** - Engineer works in real-time to solve your issue
|
|
64
|
+
5. **Pay per minute** - Only pay for active debugging time
|
|
65
|
+
|
|
66
|
+
## Security & Privacy
|
|
67
|
+
|
|
68
|
+
- Engineers can only access your code with explicit permission
|
|
69
|
+
- All commands require approval before execution
|
|
70
|
+
- File access is granted on a per-file basis
|
|
71
|
+
- All actions are logged and auditable
|
|
72
|
+
- Engineers work in a restricted `codevf` Git branch
|
|
73
|
+
- Your code is never stored without your consent
|
|
74
|
+
|
|
75
|
+
## Configuration
|
|
76
|
+
|
|
77
|
+
After running `codevf init`, configuration is stored in `.codevf/config.json`:
|
|
78
|
+
|
|
79
|
+
```json
|
|
80
|
+
{
|
|
81
|
+
"projectId": "uuid",
|
|
82
|
+
"allowedTools": ["claude", "gemini"],
|
|
83
|
+
"testCommand": "npm test",
|
|
84
|
+
"buildCommand": "npm run build",
|
|
85
|
+
"repoUploaded": true,
|
|
86
|
+
"branchMode": "codevf"
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Requirements
|
|
91
|
+
|
|
92
|
+
- Node.js 18 or higher
|
|
93
|
+
- Git (for sync command)
|
|
94
|
+
- Internet connection
|
|
95
|
+
|
|
96
|
+
## Support
|
|
97
|
+
|
|
98
|
+
- Documentation: https://docs.codevf.com
|
|
99
|
+
- Issues: https://github.com/codevf/cli/issues
|
|
100
|
+
- Email: support@codevf.com
|
|
101
|
+
|
|
102
|
+
## License
|
|
103
|
+
|
|
104
|
+
MIT
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/commands/fix.tsx"],"names":[],"mappings":"AAeA,wBAAsB,UAAU,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwIxE"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render } from 'ink';
|
|
3
|
+
import ora from 'ora';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import prompts from 'prompts';
|
|
6
|
+
import { AuthManager } from '../modules/auth.js';
|
|
7
|
+
import { ConfigManager } from '../modules/config.js';
|
|
8
|
+
import { ApiClient } from '../modules/api.js';
|
|
9
|
+
import { WebSocketClient } from '../modules/websocket.js';
|
|
10
|
+
import { PermissionManager } from '../modules/permissions.js';
|
|
11
|
+
import { LiveSession } from '../ui/LiveSession.js';
|
|
12
|
+
const DEFAULT_MAX_CREDITS = 240;
|
|
13
|
+
export async function fixCommand(issueDescription) {
|
|
14
|
+
const authManager = new AuthManager();
|
|
15
|
+
const configManager = new ConfigManager();
|
|
16
|
+
console.log(chalk.bold.blue('\n🔧 CodeVF Fix Session\n'));
|
|
17
|
+
// Check authentication
|
|
18
|
+
if (!authManager.isAuthenticated()) {
|
|
19
|
+
console.log(chalk.red('Error: Not authenticated.'));
|
|
20
|
+
console.log(chalk.yellow('Please run: codevf login\n'));
|
|
21
|
+
process.exit(1);
|
|
22
|
+
}
|
|
23
|
+
// Check if project is initialized
|
|
24
|
+
if (!configManager.isInitialized()) {
|
|
25
|
+
console.log(chalk.red('Error: No CodeVF project found.'));
|
|
26
|
+
console.log(chalk.yellow('Please run: codevf init\n'));
|
|
27
|
+
process.exit(1);
|
|
28
|
+
}
|
|
29
|
+
const config = configManager.loadConfig();
|
|
30
|
+
// Validate issue description
|
|
31
|
+
if (!issueDescription || issueDescription.trim().length === 0) {
|
|
32
|
+
console.log(chalk.red('Error: Please provide an issue description.'));
|
|
33
|
+
console.log(chalk.yellow('Usage: codevf fix "your issue description"\n'));
|
|
34
|
+
process.exit(1);
|
|
35
|
+
}
|
|
36
|
+
const spinner = ora('Creating debug task...').start();
|
|
37
|
+
try {
|
|
38
|
+
const apiClient = new ApiClient(authManager);
|
|
39
|
+
// Create task
|
|
40
|
+
const createRequest = {
|
|
41
|
+
issueDescription: issueDescription.trim(),
|
|
42
|
+
projectId: config.projectId,
|
|
43
|
+
maxCredits: DEFAULT_MAX_CREDITS,
|
|
44
|
+
};
|
|
45
|
+
const { taskId, estimatedWaitTime, warning } = await apiClient.createTask(createRequest);
|
|
46
|
+
spinner.succeed(chalk.green('Task created'));
|
|
47
|
+
if (warning) {
|
|
48
|
+
console.log(chalk.yellow(`\n${warning}\n`));
|
|
49
|
+
}
|
|
50
|
+
if (estimatedWaitTime > 0) {
|
|
51
|
+
console.log(chalk.yellow(`\nEstimated wait time: ${Math.ceil(estimatedWaitTime / 60)} minutes`));
|
|
52
|
+
const { proceed } = await prompts({
|
|
53
|
+
type: 'confirm',
|
|
54
|
+
name: 'proceed',
|
|
55
|
+
message: 'Continue waiting?',
|
|
56
|
+
initial: true,
|
|
57
|
+
});
|
|
58
|
+
if (!proceed) {
|
|
59
|
+
console.log(chalk.dim('\nTask cancelled.\n'));
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// Connect WebSocket
|
|
64
|
+
spinner.start('Connecting to session...');
|
|
65
|
+
const wsUrl = apiClient.getWebSocketUrl(taskId, authManager.getAccessToken());
|
|
66
|
+
const wsClient = new WebSocketClient(wsUrl, authManager.getAccessToken());
|
|
67
|
+
await wsClient.connect();
|
|
68
|
+
spinner.succeed(chalk.green('Connected to session'));
|
|
69
|
+
// Clear console and render live session UI
|
|
70
|
+
console.clear();
|
|
71
|
+
const permissionManager = new PermissionManager();
|
|
72
|
+
const { unmount, waitUntilExit } = render(React.createElement(LiveSession, { taskId: taskId, wsClient: wsClient, apiClient: apiClient, permissionManager: permissionManager }));
|
|
73
|
+
let exiting = false;
|
|
74
|
+
// Handle CTRL+C
|
|
75
|
+
process.on('SIGINT', async () => {
|
|
76
|
+
if (exiting)
|
|
77
|
+
return;
|
|
78
|
+
exiting = true;
|
|
79
|
+
unmount();
|
|
80
|
+
console.log(chalk.yellow('\n\n👋 Ending session...'));
|
|
81
|
+
try {
|
|
82
|
+
await apiClient.endSession(taskId);
|
|
83
|
+
wsClient.disconnect();
|
|
84
|
+
// Ask for rating
|
|
85
|
+
console.log(chalk.bold('\n⭐ Rate this session\n'));
|
|
86
|
+
const { rating, feedback } = await prompts([
|
|
87
|
+
{
|
|
88
|
+
type: 'number',
|
|
89
|
+
name: 'rating',
|
|
90
|
+
message: 'Rate engineer (1-5):',
|
|
91
|
+
min: 1,
|
|
92
|
+
max: 5,
|
|
93
|
+
initial: 5,
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
type: 'text',
|
|
97
|
+
name: 'feedback',
|
|
98
|
+
message: 'Optional feedback:',
|
|
99
|
+
},
|
|
100
|
+
]);
|
|
101
|
+
if (rating) {
|
|
102
|
+
await apiClient.rateEngineer(taskId, rating, feedback);
|
|
103
|
+
console.log(chalk.green('\n✓ Thank you for your feedback!\n'));
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
console.error(chalk.red('Failed to end session properly'));
|
|
108
|
+
}
|
|
109
|
+
process.exit(0);
|
|
110
|
+
});
|
|
111
|
+
await waitUntilExit();
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
spinner.fail('Failed to start session');
|
|
115
|
+
throw error;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=fix.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/commands/fix.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,gBAAwB;IACvD,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IACtC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAE1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAE1D,uBAAuB;IACvB,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,kCAAkC;IAClC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,EAAE,CAAC;IAE1C,6BAA6B;IAC7B,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,8CAA8C,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC;QAE7C,cAAc;QACd,MAAM,aAAa,GAAsB;YACvC,gBAAgB,EAAE,gBAAgB,CAAC,IAAI,EAAE;YACzC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,mBAAmB;SAChC,CAAC;QAEF,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACzF,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QAE7C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,0BAA0B,IAAI,CAAC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,UAAU,CAAC,CACpF,CAAC;YAEF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC;gBAChC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,mBAAmB;gBAC5B,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAC9C,OAAO;YACT,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;QAE1E,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAErD,2CAA2C;QAC3C,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhB,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAElD,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,CACvC,oBAAC,WAAW,IACV,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,iBAAiB,GACpC,CACH,CAAC;QAEF,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,gBAAgB;QAChB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC9B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YAEf,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC;YAEtD,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACnC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAEtB,iBAAiB;gBACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBACnD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC;oBACzC;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,sBAAsB;wBAC/B,GAAG,EAAE,CAAC;wBACN,GAAG,EAAE,CAAC;wBACN,OAAO,EAAE,CAAC;qBACX;oBACD;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,oBAAoB;qBAC9B;iBACF,CAAC,CAAC;gBAEH,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;oBACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;YAC7D,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,EAAE,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACxC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AA8BA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAiRjD"}
|