@codemieai/code 0.0.6 → 0.0.8
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 +265 -47
- package/bin/agent-executor.js +6 -4
- package/dist/agents/codemie-code/agent.d.ts.map +1 -1
- package/dist/agents/codemie-code/agent.js +29 -28
- package/dist/agents/codemie-code/agent.js.map +1 -1
- package/dist/agents/codemie-code/config.d.ts.map +1 -1
- package/dist/agents/codemie-code/config.js +4 -3
- package/dist/agents/codemie-code/config.js.map +1 -1
- package/dist/agents/codemie-code/index.d.ts.map +1 -1
- package/dist/agents/codemie-code/index.js +10 -9
- package/dist/agents/codemie-code/index.js.map +1 -1
- package/dist/agents/codemie-code/tools/index.d.ts.map +1 -1
- package/dist/agents/codemie-code/tools/index.js +6 -5
- package/dist/agents/codemie-code/tools/index.js.map +1 -1
- package/dist/agents/codemie-code/ui/todoPanel.js +9 -9
- package/dist/agents/codemie-code/ui/todoPanel.js.map +1 -1
- package/dist/agents/codemie-code/ui.d.ts.map +1 -1
- package/dist/agents/codemie-code/ui.js +34 -33
- package/dist/agents/codemie-code/ui.js.map +1 -1
- package/dist/agents/core/AgentCLI.d.ts.map +1 -1
- package/dist/agents/core/AgentCLI.js +33 -17
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +5 -11
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/plugins/claude.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude.plugin.js +9 -0
- package/dist/agents/plugins/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.d.ts +4 -0
- package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.js +9 -2
- package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
- package/dist/agents/registry.d.ts +1 -0
- package/dist/agents/registry.d.ts.map +1 -1
- package/dist/agents/registry.js +3 -2
- package/dist/agents/registry.js.map +1 -1
- package/dist/cli/commands/auth.js +5 -5
- package/dist/cli/commands/auth.js.map +1 -1
- package/dist/cli/commands/config.js +21 -21
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/doctor/checks/AIConfigCheck.d.ts +13 -0
- package/dist/cli/commands/doctor/checks/AIConfigCheck.d.ts.map +1 -0
- package/dist/cli/commands/doctor/checks/AIConfigCheck.js +135 -0
- package/dist/cli/commands/doctor/checks/AIConfigCheck.js.map +1 -0
- package/dist/cli/commands/doctor/checks/AgentsCheck.d.ts +10 -0
- package/dist/cli/commands/doctor/checks/AgentsCheck.d.ts.map +1 -0
- package/dist/cli/commands/doctor/checks/AgentsCheck.js +57 -0
- package/dist/cli/commands/doctor/checks/AgentsCheck.js.map +1 -0
- package/dist/cli/commands/doctor/checks/NodeVersionCheck.d.ts +9 -0
- package/dist/cli/commands/doctor/checks/NodeVersionCheck.d.ts.map +1 -0
- package/dist/cli/commands/doctor/checks/NodeVersionCheck.js +38 -0
- package/dist/cli/commands/doctor/checks/NodeVersionCheck.js.map +1 -0
- package/dist/cli/commands/doctor/checks/NpmCheck.d.ts +9 -0
- package/dist/cli/commands/doctor/checks/NpmCheck.d.ts.map +1 -0
- package/dist/cli/commands/doctor/checks/NpmCheck.js +28 -0
- package/dist/cli/commands/doctor/checks/NpmCheck.js.map +1 -0
- package/dist/cli/commands/doctor/checks/WorkflowsCheck.d.ts +9 -0
- package/dist/cli/commands/doctor/checks/WorkflowsCheck.d.ts.map +1 -0
- package/dist/cli/commands/doctor/checks/WorkflowsCheck.js +72 -0
- package/dist/cli/commands/doctor/checks/WorkflowsCheck.js.map +1 -0
- package/dist/cli/commands/doctor/checks/index.d.ts +9 -0
- package/dist/cli/commands/doctor/checks/index.d.ts.map +1 -0
- package/dist/cli/commands/doctor/checks/index.js +9 -0
- package/dist/cli/commands/doctor/checks/index.js.map +1 -0
- package/dist/cli/commands/doctor/formatter.d.ts +53 -0
- package/dist/cli/commands/doctor/formatter.d.ts.map +1 -0
- package/dist/cli/commands/doctor/formatter.js +153 -0
- package/dist/cli/commands/doctor/formatter.js.map +1 -0
- package/dist/cli/commands/{doctor.d.ts → doctor/index.d.ts} +4 -1
- package/dist/cli/commands/doctor/index.d.ts.map +1 -0
- package/dist/cli/commands/doctor/index.js +67 -0
- package/dist/cli/commands/doctor/index.js.map +1 -0
- package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.d.ts +11 -0
- package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.d.ts.map +1 -0
- package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.js +192 -0
- package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.js.map +1 -0
- package/dist/cli/commands/doctor/providers/BaseProviderCheck.d.ts +12 -0
- package/dist/cli/commands/doctor/providers/BaseProviderCheck.d.ts.map +1 -0
- package/dist/cli/commands/doctor/providers/BaseProviderCheck.js +12 -0
- package/dist/cli/commands/doctor/providers/BaseProviderCheck.js.map +1 -0
- package/dist/cli/commands/doctor/providers/StandardProviderCheck.d.ts +11 -0
- package/dist/cli/commands/doctor/providers/StandardProviderCheck.d.ts.map +1 -0
- package/dist/cli/commands/doctor/providers/StandardProviderCheck.js +97 -0
- package/dist/cli/commands/doctor/providers/StandardProviderCheck.js.map +1 -0
- package/dist/cli/commands/doctor/providers/index.d.ts +30 -0
- package/dist/cli/commands/doctor/providers/index.d.ts.map +1 -0
- package/dist/cli/commands/doctor/providers/index.js +66 -0
- package/dist/cli/commands/doctor/providers/index.js.map +1 -0
- package/dist/cli/commands/doctor/types.d.ts +59 -0
- package/dist/cli/commands/doctor/types.d.ts.map +1 -0
- package/dist/cli/commands/doctor/types.js +5 -0
- package/dist/cli/commands/doctor/types.js.map +1 -0
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +24 -8
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/list.js +3 -3
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/profile.js +6 -6
- package/dist/cli/commands/profile.js.map +1 -1
- package/dist/cli/commands/setup.js +51 -38
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/uninstall.d.ts.map +1 -1
- package/dist/cli/commands/uninstall.js +19 -4
- package/dist/cli/commands/uninstall.js.map +1 -1
- package/dist/cli/commands/workflow.d.ts.map +1 -1
- package/dist/cli/commands/workflow.js +30 -59
- package/dist/cli/commands/workflow.js.map +1 -1
- package/dist/cli/index.js +1 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/env/types.d.ts.map +1 -1
- package/dist/env/types.js +2 -2
- package/dist/env/types.js.map +1 -1
- package/dist/utils/async-tips.js +6 -6
- package/dist/utils/async-tips.js.map +1 -1
- package/dist/utils/codemie-integration-validator.d.ts +3 -2
- package/dist/utils/codemie-integration-validator.d.ts.map +1 -1
- package/dist/utils/codemie-integration-validator.js +38 -11
- package/dist/utils/codemie-integration-validator.js.map +1 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +17 -6
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/credential-store.d.ts.map +1 -1
- package/dist/utils/credential-store.js +55 -24
- package/dist/utils/credential-store.js.map +1 -1
- package/dist/utils/first-time.d.ts +8 -0
- package/dist/utils/first-time.d.ts.map +1 -1
- package/dist/utils/first-time.js +133 -86
- package/dist/utils/first-time.js.map +1 -1
- package/dist/utils/logger.d.ts +19 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +93 -8
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/sso-auth.d.ts.map +1 -1
- package/dist/utils/sso-auth.js +24 -10
- package/dist/utils/sso-auth.js.map +1 -1
- package/dist/utils/sso-gateway.d.ts +28 -0
- package/dist/utils/sso-gateway.d.ts.map +1 -1
- package/dist/utils/sso-gateway.js +197 -46
- package/dist/utils/sso-gateway.js.map +1 -1
- package/dist/utils/tips.js +3 -3
- package/dist/utils/tips.js.map +1 -1
- package/dist/workflows/installer.d.ts.map +1 -1
- package/dist/workflows/installer.js +3 -8
- package/dist/workflows/installer.js.map +1 -1
- package/package.json +6 -2
- package/dist/cli/commands/doctor.d.ts.map +0 -1
- package/dist/cli/commands/doctor.js +0 -365
- package/dist/cli/commands/doctor.js.map +0 -1
- package/dist/cli/commands/tools.d.ts +0 -6
- package/dist/cli/commands/tools.d.ts.map +0 -1
- package/dist/cli/commands/tools.js +0 -244
- package/dist/cli/commands/tools.js.map +0 -1
- package/dist/clients/adapters/github.d.ts +0 -17
- package/dist/clients/adapters/github.d.ts.map +0 -1
- package/dist/clients/adapters/github.js +0 -150
- package/dist/clients/adapters/github.js.map +0 -1
- package/dist/clients/adapters/gitlab.d.ts +0 -17
- package/dist/clients/adapters/gitlab.d.ts.map +0 -1
- package/dist/clients/adapters/gitlab.js +0 -147
- package/dist/clients/adapters/gitlab.js.map +0 -1
- package/dist/clients/registry.d.ts +0 -20
- package/dist/clients/registry.d.ts.map +0 -1
- package/dist/clients/registry.js +0 -27
- package/dist/clients/registry.js.map +0 -1
- package/dist/tools/detector.d.ts +0 -33
- package/dist/tools/detector.d.ts.map +0 -1
- package/dist/tools/detector.js +0 -145
- package/dist/tools/detector.js.map +0 -1
- package/dist/tools/index.d.ts +0 -8
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -8
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/manager.d.ts +0 -21
- package/dist/tools/manager.d.ts.map +0 -1
- package/dist/tools/manager.js +0 -104
- package/dist/tools/manager.js.map +0 -1
- package/dist/tools/registry.d.ts +0 -8
- package/dist/tools/registry.d.ts.map +0 -1
- package/dist/tools/registry.js +0 -36
- package/dist/tools/registry.js.map +0 -1
- package/dist/tools/types.d.ts +0 -41
- package/dist/tools/types.d.ts.map +0 -1
- package/dist/tools/types.js +0 -5
- package/dist/tools/types.js.map +0 -1
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tools management CLI commands
|
|
3
|
-
*/
|
|
4
|
-
import { Command } from 'commander';
|
|
5
|
-
import inquirer from 'inquirer';
|
|
6
|
-
import chalk from 'chalk';
|
|
7
|
-
import ora from 'ora';
|
|
8
|
-
import { checkAllTools, getToolStatus, installTool, uninstallTool, updateTool, authenticateTool, getAllTools, } from '../../tools/index.js';
|
|
9
|
-
export function createToolsCommand() {
|
|
10
|
-
const tools = new Command('tools')
|
|
11
|
-
.description('Manage VCS CLI tools (GitHub CLI, GitLab CLI)');
|
|
12
|
-
// Check command
|
|
13
|
-
tools
|
|
14
|
-
.command('check')
|
|
15
|
-
.description('Check status of all VCS tools')
|
|
16
|
-
.action(async () => {
|
|
17
|
-
console.log(chalk.bold.cyan('\n╔═══════════════════════════════════════╗'));
|
|
18
|
-
console.log(chalk.bold.cyan('║ VCS Tools Status ║'));
|
|
19
|
-
console.log(chalk.bold.cyan('╚═══════════════════════════════════════╝\n'));
|
|
20
|
-
const spinner = ora('Checking installed tools...').start();
|
|
21
|
-
const status = checkAllTools();
|
|
22
|
-
spinner.succeed(chalk.green('Tools checked'));
|
|
23
|
-
console.log('');
|
|
24
|
-
// Git status
|
|
25
|
-
if (status.git.installed) {
|
|
26
|
-
console.log(`${chalk.green('✓')} Git ${chalk.dim(`(v${status.git.version})`)}`);
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
console.log(`${chalk.red('✗')} Git ${chalk.dim('(not installed)')}`);
|
|
30
|
-
}
|
|
31
|
-
console.log('');
|
|
32
|
-
// GitHub CLI status
|
|
33
|
-
if (status.gh.installed) {
|
|
34
|
-
const authStatus = status.gh.authenticated
|
|
35
|
-
? chalk.green(`authenticated as ${status.gh.authUser}`)
|
|
36
|
-
: chalk.yellow('not authenticated');
|
|
37
|
-
console.log(`${chalk.green('✓')} GitHub CLI (gh) ${chalk.dim(`v${status.gh.version}`)} - ${authStatus}`);
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
console.log(`${chalk.red('✗')} GitHub CLI (gh) ${chalk.dim('not installed')}`);
|
|
41
|
-
console.log(chalk.dim(' Install with: codemie tools install gh'));
|
|
42
|
-
}
|
|
43
|
-
console.log('');
|
|
44
|
-
// GitLab CLI status
|
|
45
|
-
if (status.glab.installed) {
|
|
46
|
-
const authStatus = status.glab.authenticated
|
|
47
|
-
? chalk.green(`authenticated as ${status.glab.authUser}`)
|
|
48
|
-
: chalk.yellow('not authenticated');
|
|
49
|
-
console.log(`${chalk.green('✓')} GitLab CLI (glab) ${chalk.dim(`v${status.glab.version}`)} - ${authStatus}`);
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
console.log(`${chalk.red('✗')} GitLab CLI (glab) ${chalk.dim('not installed')}`);
|
|
53
|
-
console.log(chalk.dim(' Install with: codemie tools install glab'));
|
|
54
|
-
}
|
|
55
|
-
console.log('');
|
|
56
|
-
});
|
|
57
|
-
// Install command
|
|
58
|
-
tools
|
|
59
|
-
.command('install <tools...>')
|
|
60
|
-
.description('Install VCS CLI tools via npm')
|
|
61
|
-
.option('-f, --force', 'Force reinstall if already installed')
|
|
62
|
-
.action(async (toolNames, options) => {
|
|
63
|
-
console.log(chalk.bold.cyan('\n╔═══════════════════════════════════════╗'));
|
|
64
|
-
console.log(chalk.bold.cyan('║ Install VCS Tools ║'));
|
|
65
|
-
console.log(chalk.bold.cyan('╚═══════════════════════════════════════╝\n'));
|
|
66
|
-
for (const toolName of toolNames) {
|
|
67
|
-
if (toolName !== 'gh' && toolName !== 'glab') {
|
|
68
|
-
console.log(chalk.red(`✗ Unknown tool: ${toolName}`));
|
|
69
|
-
console.log(chalk.dim(' Available tools: gh, glab\n'));
|
|
70
|
-
continue;
|
|
71
|
-
}
|
|
72
|
-
const tool = toolName;
|
|
73
|
-
try {
|
|
74
|
-
const spinner = ora(`Installing ${toolName}...`).start();
|
|
75
|
-
await installTool(tool, { force: options.force });
|
|
76
|
-
spinner.succeed(chalk.green(`${toolName} installed successfully`));
|
|
77
|
-
// Check authentication
|
|
78
|
-
const status = getToolStatus(tool);
|
|
79
|
-
if (!status.authenticated) {
|
|
80
|
-
console.log(chalk.yellow(`⚠ ${toolName} is not authenticated. Run: codemie tools auth ${toolName}`));
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
catch (error) {
|
|
84
|
-
console.log(chalk.red(`✗ Failed to install ${toolName}`));
|
|
85
|
-
console.log(chalk.dim(` ${error instanceof Error ? error.message : String(error)}`));
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
console.log('');
|
|
89
|
-
});
|
|
90
|
-
// Uninstall command
|
|
91
|
-
tools
|
|
92
|
-
.command('uninstall <tool>')
|
|
93
|
-
.description('Uninstall a VCS CLI tool')
|
|
94
|
-
.action(async (toolName) => {
|
|
95
|
-
console.log(chalk.bold.cyan('\n╔═══════════════════════════════════════╗'));
|
|
96
|
-
console.log(chalk.bold.cyan(`║ Uninstall ${toolName.padEnd(20)} ║`));
|
|
97
|
-
console.log(chalk.bold.cyan('╚═══════════════════════════════════════╝\n'));
|
|
98
|
-
if (toolName !== 'gh' && toolName !== 'glab') {
|
|
99
|
-
console.log(chalk.red(`✗ Unknown tool: ${toolName}`));
|
|
100
|
-
console.log(chalk.dim(' Available tools: gh, glab\n'));
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
const tool = toolName;
|
|
104
|
-
const { confirm } = await inquirer.prompt([
|
|
105
|
-
{
|
|
106
|
-
type: 'confirm',
|
|
107
|
-
name: 'confirm',
|
|
108
|
-
message: `Are you sure you want to uninstall ${toolName}?`,
|
|
109
|
-
default: false
|
|
110
|
-
}
|
|
111
|
-
]);
|
|
112
|
-
if (!confirm) {
|
|
113
|
-
console.log(chalk.yellow('\nUninstall cancelled\n'));
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
try {
|
|
117
|
-
const spinner = ora(`Uninstalling ${toolName}...`).start();
|
|
118
|
-
await uninstallTool(tool);
|
|
119
|
-
spinner.succeed(chalk.green(`${toolName} uninstalled successfully`));
|
|
120
|
-
console.log('');
|
|
121
|
-
}
|
|
122
|
-
catch (error) {
|
|
123
|
-
console.log(chalk.red(`✗ Failed to uninstall ${toolName}`));
|
|
124
|
-
console.log(chalk.dim(` ${error instanceof Error ? error.message : String(error)}\n`));
|
|
125
|
-
}
|
|
126
|
-
});
|
|
127
|
-
// Update command
|
|
128
|
-
tools
|
|
129
|
-
.command('update <tool>')
|
|
130
|
-
.description('Update a VCS CLI tool')
|
|
131
|
-
.action(async (toolName) => {
|
|
132
|
-
console.log(chalk.bold.cyan('\n╔═══════════════════════════════════════╗'));
|
|
133
|
-
console.log(chalk.bold.cyan(`║ Update ${toolName.padEnd(20)} ║`));
|
|
134
|
-
console.log(chalk.bold.cyan('╚═══════════════════════════════════════╝\n'));
|
|
135
|
-
if (toolName !== 'gh' && toolName !== 'glab') {
|
|
136
|
-
console.log(chalk.red(`✗ Unknown tool: ${toolName}`));
|
|
137
|
-
console.log(chalk.dim(' Available tools: gh, glab\n'));
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
const tool = toolName;
|
|
141
|
-
try {
|
|
142
|
-
const spinner = ora(`Updating ${toolName}...`).start();
|
|
143
|
-
await updateTool(tool);
|
|
144
|
-
spinner.succeed(chalk.green(`${toolName} updated successfully`));
|
|
145
|
-
console.log('');
|
|
146
|
-
}
|
|
147
|
-
catch (error) {
|
|
148
|
-
console.log(chalk.red(`✗ Failed to update ${toolName}`));
|
|
149
|
-
console.log(chalk.dim(` ${error instanceof Error ? error.message : String(error)}\n`));
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
// Auth command
|
|
153
|
-
tools
|
|
154
|
-
.command('auth <tool>')
|
|
155
|
-
.description('Authenticate a VCS CLI tool')
|
|
156
|
-
.option('-t, --token <token>', 'Authentication token')
|
|
157
|
-
.action(async (toolName, options) => {
|
|
158
|
-
console.log(chalk.bold.cyan('\n╔═══════════════════════════════════════╗'));
|
|
159
|
-
console.log(chalk.bold.cyan(`║ Authenticate ${toolName.padEnd(16)} ║`));
|
|
160
|
-
console.log(chalk.bold.cyan('╚═══════════════════════════════════════╝\n'));
|
|
161
|
-
if (toolName !== 'gh' && toolName !== 'glab') {
|
|
162
|
-
console.log(chalk.red(`✗ Unknown tool: ${toolName}`));
|
|
163
|
-
console.log(chalk.dim(' Available tools: gh, glab\n'));
|
|
164
|
-
return;
|
|
165
|
-
}
|
|
166
|
-
const tool = toolName;
|
|
167
|
-
try {
|
|
168
|
-
console.log(chalk.dim('This will open your browser for authentication...\n'));
|
|
169
|
-
await authenticateTool(tool, options.token);
|
|
170
|
-
console.log('');
|
|
171
|
-
console.log(chalk.green(`✓ ${toolName} authenticated successfully\n`));
|
|
172
|
-
}
|
|
173
|
-
catch (error) {
|
|
174
|
-
console.log('');
|
|
175
|
-
console.log(chalk.red(`✗ Failed to authenticate ${toolName}`));
|
|
176
|
-
console.log(chalk.dim(` ${error instanceof Error ? error.message : String(error)}\n`));
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
// Auth status command
|
|
180
|
-
tools
|
|
181
|
-
.command('auth-status')
|
|
182
|
-
.description('Check authentication status for all tools')
|
|
183
|
-
.action(async () => {
|
|
184
|
-
console.log(chalk.bold.cyan('\n╔═══════════════════════════════════════╗'));
|
|
185
|
-
console.log(chalk.bold.cyan('║ Authentication Status ║'));
|
|
186
|
-
console.log(chalk.bold.cyan('╚═══════════════════════════════════════╝\n'));
|
|
187
|
-
const status = checkAllTools();
|
|
188
|
-
// GitHub CLI
|
|
189
|
-
if (status.gh.installed) {
|
|
190
|
-
if (status.gh.authenticated) {
|
|
191
|
-
console.log(`${chalk.green('✓')} GitHub CLI: ${chalk.green(`authenticated as ${status.gh.authUser}`)}`);
|
|
192
|
-
}
|
|
193
|
-
else {
|
|
194
|
-
console.log(`${chalk.yellow('⚠')} GitHub CLI: ${chalk.yellow('not authenticated')}`);
|
|
195
|
-
console.log(chalk.dim(' Run: codemie tools auth gh'));
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
else {
|
|
199
|
-
console.log(`${chalk.red('✗')} GitHub CLI: ${chalk.dim('not installed')}`);
|
|
200
|
-
}
|
|
201
|
-
console.log('');
|
|
202
|
-
// GitLab CLI
|
|
203
|
-
if (status.glab.installed) {
|
|
204
|
-
if (status.glab.authenticated) {
|
|
205
|
-
console.log(`${chalk.green('✓')} GitLab CLI: ${chalk.green(`authenticated as ${status.glab.authUser}`)}`);
|
|
206
|
-
}
|
|
207
|
-
else {
|
|
208
|
-
console.log(`${chalk.yellow('⚠')} GitLab CLI: ${chalk.yellow('not authenticated')}`);
|
|
209
|
-
console.log(chalk.dim(' Run: codemie tools auth glab'));
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
else {
|
|
213
|
-
console.log(`${chalk.red('✗')} GitLab CLI: ${chalk.dim('not installed')}`);
|
|
214
|
-
}
|
|
215
|
-
console.log('');
|
|
216
|
-
});
|
|
217
|
-
// List command
|
|
218
|
-
tools
|
|
219
|
-
.command('list')
|
|
220
|
-
.description('List all available VCS tools')
|
|
221
|
-
.action(async () => {
|
|
222
|
-
console.log(chalk.bold.cyan('\n╔═══════════════════════════════════════╗'));
|
|
223
|
-
console.log(chalk.bold.cyan('║ Available VCS Tools ║'));
|
|
224
|
-
console.log(chalk.bold.cyan('╚═══════════════════════════════════════╝\n'));
|
|
225
|
-
const allTools = getAllTools();
|
|
226
|
-
const status = checkAllTools();
|
|
227
|
-
for (const toolInfo of allTools) {
|
|
228
|
-
const toolStatus = status[toolInfo.name];
|
|
229
|
-
const installed = toolStatus.installed ? chalk.green('installed') : chalk.dim('not installed');
|
|
230
|
-
console.log(chalk.bold(toolInfo.displayName) + ` (${toolInfo.name})`);
|
|
231
|
-
console.log(chalk.dim(` ${toolInfo.description}`));
|
|
232
|
-
console.log(` Status: ${installed}`);
|
|
233
|
-
if (toolStatus.installed) {
|
|
234
|
-
console.log(chalk.dim(` Version: ${toolStatus.version}`));
|
|
235
|
-
console.log(` Auth: ${toolStatus.authenticated ? chalk.green('✓') : chalk.yellow('✗')}`);
|
|
236
|
-
}
|
|
237
|
-
console.log(chalk.dim(` npm: ${toolInfo.npmPackage}`));
|
|
238
|
-
console.log(chalk.dim(` Docs: ${toolInfo.docsUrl}`));
|
|
239
|
-
console.log('');
|
|
240
|
-
}
|
|
241
|
-
});
|
|
242
|
-
return tools;
|
|
243
|
-
}
|
|
244
|
-
//# sourceMappingURL=tools.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/cli/commands/tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EACL,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,WAAW,GAEZ,MAAM,sBAAsB,CAAC;AAE9B,MAAM,UAAU,kBAAkB;IAChC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;SAC/B,WAAW,CAAC,+CAA+C,CAAC,CAAC;IAEhE,gBAAgB;IAChB,KAAK;SACF,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QAE5E,MAAM,OAAO,GAAG,GAAG,CAAC,6BAA6B,CAAC,CAAC,KAAK,EAAE,CAAC;QAE3D,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;QAC/B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAE9C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,aAAa;QACb,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,oBAAoB;QACpB,IAAI,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;YACxB,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC,aAAa;gBACxC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACvD,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CACT,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,UAAU,EAAE,CAC5F,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAC/E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,oBAAoB;QACpB,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa;gBAC1C,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACzD,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CACT,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,UAAU,EAAE,CAChG,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEL,kBAAkB;IAClB,KAAK;SACF,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,aAAa,EAAE,sCAAsC,CAAC;SAC7D,MAAM,CAAC,KAAK,EAAE,SAAmB,EAAE,OAA4B,EAAE,EAAE;QAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QAE5E,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;gBACxD,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,QAAmB,CAAC;YAEjC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,QAAQ,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;gBAEzD,MAAM,WAAW,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;gBAElD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,QAAQ,yBAAyB,CAAC,CAAC,CAAC;gBAEnE,uBAAuB;gBACvB,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;oBAC1B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,kDAAkD,QAAQ,EAAE,CAAC,CACxF,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEL,oBAAoB;IACpB,KAAK;SACF,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,0BAA0B,CAAC;SACvC,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QAE5E,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,QAAmB,CAAC;QAEjC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACxC;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,sCAAsC,QAAQ,GAAG;gBAC1D,OAAO,EAAE,KAAK;aACf;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,QAAQ,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;YAE3D,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;YAE1B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,QAAQ,2BAA2B,CAAC,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,iBAAiB;IACjB,KAAK;SACF,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,uBAAuB,CAAC;SACpC,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QAE5E,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,QAAmB,CAAC;QAEjC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,QAAQ,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;YAEvD,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;YAEvB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,QAAQ,uBAAuB,CAAC,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,eAAe;IACf,KAAK;SACF,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,6BAA6B,CAAC;SAC1C,MAAM,CAAC,qBAAqB,EAAE,sBAAsB,CAAC;SACrD,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,OAA2B,EAAE,EAAE;QAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QAE5E,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,QAAmB,CAAC;QAEjC,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC,CAAC;YAE9E,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAE5C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,+BAA+B,CAAC,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,sBAAsB;IACtB,KAAK;SACF,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QAE5E,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;QAE/B,aAAa;QACb,IAAI,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;YACxB,IAAI,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CACT,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC3F,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,aAAa;QACb,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CACT,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC7F,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEL,eAAe;IACf,KAAK;SACF,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,8BAA8B,CAAC;SAC3C,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QAE5E,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;QAE/B,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAE/F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,KAAK,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,aAAa,SAAS,EAAE,CAAC,CAAC;YACtC,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC3D,OAAO,CAAC,GAAG,CACT,WAAW,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC7E,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ClientAdapter } from '../registry.js';
|
|
2
|
-
export declare class GitHubClientAdapter implements ClientAdapter {
|
|
3
|
-
name: string;
|
|
4
|
-
displayName: string;
|
|
5
|
-
description: string;
|
|
6
|
-
cliCommand: string;
|
|
7
|
-
isInstalled(): Promise<boolean>;
|
|
8
|
-
getVersion(): Promise<string | null>;
|
|
9
|
-
install(): Promise<void>;
|
|
10
|
-
private installOnMac;
|
|
11
|
-
private installOnLinux;
|
|
12
|
-
private installOnWindows;
|
|
13
|
-
uninstall(): Promise<void>;
|
|
14
|
-
isAuthenticated(): Promise<boolean>;
|
|
15
|
-
authenticate(): Promise<void>;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=github.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../src/clients/adapters/github.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAI/C,qBAAa,mBAAoB,YAAW,aAAa;IACvD,IAAI,SAAY;IAChB,WAAW,SAAgB;IAC3B,WAAW,SAA4C;IACvD,UAAU,SAAQ;IAEZ,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS/B,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAWpC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YA2BhB,YAAY;YAUZ,cAAc;YA2Bd,gBAAgB;IAIxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B1B,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IASnC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAuBpC"}
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import { execSync, spawn } from 'child_process';
|
|
2
|
-
import { logger } from '../../utils/logger.js';
|
|
3
|
-
import * as os from 'os';
|
|
4
|
-
export class GitHubClientAdapter {
|
|
5
|
-
name = 'github';
|
|
6
|
-
displayName = 'GitHub CLI';
|
|
7
|
-
description = 'Official GitHub command-line tool (gh)';
|
|
8
|
-
cliCommand = 'gh';
|
|
9
|
-
async isInstalled() {
|
|
10
|
-
try {
|
|
11
|
-
execSync('gh --version', { stdio: 'ignore' });
|
|
12
|
-
return true;
|
|
13
|
-
}
|
|
14
|
-
catch {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
async getVersion() {
|
|
19
|
-
try {
|
|
20
|
-
const output = execSync('gh --version', { encoding: 'utf-8' });
|
|
21
|
-
// Extract version from output like "gh version 2.40.0 (2023-12-13)"
|
|
22
|
-
const match = output.match(/gh version (\S+)/);
|
|
23
|
-
return match ? match[1] : null;
|
|
24
|
-
}
|
|
25
|
-
catch {
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
async install() {
|
|
30
|
-
const platform = os.platform();
|
|
31
|
-
logger.info(`Installing GitHub CLI (gh)...`);
|
|
32
|
-
try {
|
|
33
|
-
switch (platform) {
|
|
34
|
-
case 'darwin': // macOS
|
|
35
|
-
await this.installOnMac();
|
|
36
|
-
break;
|
|
37
|
-
case 'linux':
|
|
38
|
-
await this.installOnLinux();
|
|
39
|
-
break;
|
|
40
|
-
case 'win32':
|
|
41
|
-
await this.installOnWindows();
|
|
42
|
-
break;
|
|
43
|
-
default:
|
|
44
|
-
throw new Error(`Unsupported platform: ${platform}`);
|
|
45
|
-
}
|
|
46
|
-
logger.success('GitHub CLI installed successfully!');
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
logger.error('Failed to install GitHub CLI');
|
|
50
|
-
throw error;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
async installOnMac() {
|
|
54
|
-
try {
|
|
55
|
-
// Check if Homebrew is available
|
|
56
|
-
execSync('which brew', { stdio: 'ignore' });
|
|
57
|
-
execSync('brew install gh', { stdio: 'inherit' });
|
|
58
|
-
}
|
|
59
|
-
catch {
|
|
60
|
-
throw new Error('Homebrew is required to install gh on macOS. Install from: https://brew.sh');
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
async installOnLinux() {
|
|
64
|
-
// Try to detect package manager
|
|
65
|
-
try {
|
|
66
|
-
execSync('which apt-get', { stdio: 'ignore' });
|
|
67
|
-
// Debian/Ubuntu
|
|
68
|
-
execSync('type -p curl >/dev/null || (sudo apt update && sudo apt install curl -y)', { stdio: 'inherit' });
|
|
69
|
-
execSync('curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg', { stdio: 'inherit' });
|
|
70
|
-
execSync('sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg', { stdio: 'inherit' });
|
|
71
|
-
execSync('echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null', { stdio: 'inherit' });
|
|
72
|
-
execSync('sudo apt update && sudo apt install gh -y', { stdio: 'inherit' });
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
catch {
|
|
76
|
-
// Not Debian/Ubuntu
|
|
77
|
-
}
|
|
78
|
-
try {
|
|
79
|
-
execSync('which yum', { stdio: 'ignore' });
|
|
80
|
-
// RHEL/Fedora/CentOS
|
|
81
|
-
execSync('sudo dnf install gh -y', { stdio: 'inherit' });
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
catch {
|
|
85
|
-
// Not RHEL
|
|
86
|
-
}
|
|
87
|
-
throw new Error('Could not detect package manager. Please install gh manually: https://github.com/cli/cli/blob/trunk/docs/install_linux.md');
|
|
88
|
-
}
|
|
89
|
-
async installOnWindows() {
|
|
90
|
-
throw new Error('Please install GitHub CLI manually from: https://cli.github.com/');
|
|
91
|
-
}
|
|
92
|
-
async uninstall() {
|
|
93
|
-
const platform = os.platform();
|
|
94
|
-
logger.info('Uninstalling GitHub CLI...');
|
|
95
|
-
try {
|
|
96
|
-
switch (platform) {
|
|
97
|
-
case 'darwin':
|
|
98
|
-
execSync('brew uninstall gh', { stdio: 'inherit' });
|
|
99
|
-
break;
|
|
100
|
-
case 'linux':
|
|
101
|
-
try {
|
|
102
|
-
execSync('which apt-get', { stdio: 'ignore' });
|
|
103
|
-
execSync('sudo apt remove gh -y', { stdio: 'inherit' });
|
|
104
|
-
}
|
|
105
|
-
catch {
|
|
106
|
-
execSync('sudo dnf remove gh -y', { stdio: 'inherit' });
|
|
107
|
-
}
|
|
108
|
-
break;
|
|
109
|
-
default:
|
|
110
|
-
throw new Error('Please uninstall GitHub CLI manually');
|
|
111
|
-
}
|
|
112
|
-
logger.success('GitHub CLI uninstalled successfully');
|
|
113
|
-
}
|
|
114
|
-
catch (error) {
|
|
115
|
-
logger.error('Failed to uninstall GitHub CLI');
|
|
116
|
-
throw error;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
async isAuthenticated() {
|
|
120
|
-
try {
|
|
121
|
-
execSync('gh auth status', { stdio: 'ignore' });
|
|
122
|
-
return true;
|
|
123
|
-
}
|
|
124
|
-
catch {
|
|
125
|
-
return false;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
async authenticate() {
|
|
129
|
-
logger.info('Starting GitHub authentication...');
|
|
130
|
-
return new Promise((resolve, reject) => {
|
|
131
|
-
const authProcess = spawn('gh', ['auth', 'login'], {
|
|
132
|
-
stdio: 'inherit',
|
|
133
|
-
shell: true
|
|
134
|
-
});
|
|
135
|
-
authProcess.on('close', (code) => {
|
|
136
|
-
if (code === 0) {
|
|
137
|
-
logger.success('GitHub authentication successful!');
|
|
138
|
-
resolve();
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
reject(new Error('GitHub authentication failed'));
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
authProcess.on('error', (error) => {
|
|
145
|
-
reject(error);
|
|
146
|
-
});
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
//# sourceMappingURL=github.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../../src/clients/adapters/github.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ClientAdapter } from '../registry.js';
|
|
2
|
-
export declare class GitLabClientAdapter implements ClientAdapter {
|
|
3
|
-
name: string;
|
|
4
|
-
displayName: string;
|
|
5
|
-
description: string;
|
|
6
|
-
cliCommand: string;
|
|
7
|
-
isInstalled(): Promise<boolean>;
|
|
8
|
-
getVersion(): Promise<string | null>;
|
|
9
|
-
install(): Promise<void>;
|
|
10
|
-
private installOnMac;
|
|
11
|
-
private installOnLinux;
|
|
12
|
-
private installOnWindows;
|
|
13
|
-
uninstall(): Promise<void>;
|
|
14
|
-
isAuthenticated(): Promise<boolean>;
|
|
15
|
-
authenticate(): Promise<void>;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=gitlab.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab.d.ts","sourceRoot":"","sources":["../../../src/clients/adapters/gitlab.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAI/C,qBAAa,mBAAoB,YAAW,aAAa;IACvD,IAAI,SAAY;IAChB,WAAW,SAAgB;IAC3B,WAAW,SAA8C;IACzD,UAAU,SAAU;IAEd,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS/B,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAWpC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YA2BhB,YAAY;YAUZ,cAAc;YAwBd,gBAAgB;IAIxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B1B,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IASnC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAuBpC"}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { execSync, spawn } from 'child_process';
|
|
2
|
-
import { logger } from '../../utils/logger.js';
|
|
3
|
-
import * as os from 'os';
|
|
4
|
-
export class GitLabClientAdapter {
|
|
5
|
-
name = 'gitlab';
|
|
6
|
-
displayName = 'GitLab CLI';
|
|
7
|
-
description = 'Official GitLab command-line tool (glab)';
|
|
8
|
-
cliCommand = 'glab';
|
|
9
|
-
async isInstalled() {
|
|
10
|
-
try {
|
|
11
|
-
execSync('glab --version', { stdio: 'ignore' });
|
|
12
|
-
return true;
|
|
13
|
-
}
|
|
14
|
-
catch {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
async getVersion() {
|
|
19
|
-
try {
|
|
20
|
-
const output = execSync('glab --version', { encoding: 'utf-8' });
|
|
21
|
-
// Extract version from output like "glab version 1.36.0 (2024-01-10)"
|
|
22
|
-
const match = output.match(/glab version (\S+)/);
|
|
23
|
-
return match ? match[1] : null;
|
|
24
|
-
}
|
|
25
|
-
catch {
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
async install() {
|
|
30
|
-
const platform = os.platform();
|
|
31
|
-
logger.info(`Installing GitLab CLI (glab)...`);
|
|
32
|
-
try {
|
|
33
|
-
switch (platform) {
|
|
34
|
-
case 'darwin': // macOS
|
|
35
|
-
await this.installOnMac();
|
|
36
|
-
break;
|
|
37
|
-
case 'linux':
|
|
38
|
-
await this.installOnLinux();
|
|
39
|
-
break;
|
|
40
|
-
case 'win32':
|
|
41
|
-
await this.installOnWindows();
|
|
42
|
-
break;
|
|
43
|
-
default:
|
|
44
|
-
throw new Error(`Unsupported platform: ${platform}`);
|
|
45
|
-
}
|
|
46
|
-
logger.success('GitLab CLI installed successfully!');
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
logger.error('Failed to install GitLab CLI');
|
|
50
|
-
throw error;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
async installOnMac() {
|
|
54
|
-
try {
|
|
55
|
-
// Check if Homebrew is available
|
|
56
|
-
execSync('which brew', { stdio: 'ignore' });
|
|
57
|
-
execSync('brew install glab', { stdio: 'inherit' });
|
|
58
|
-
}
|
|
59
|
-
catch {
|
|
60
|
-
throw new Error('Homebrew is required to install glab on macOS. Install from: https://brew.sh');
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
async installOnLinux() {
|
|
64
|
-
// Try to detect package manager
|
|
65
|
-
try {
|
|
66
|
-
execSync('which apt-get', { stdio: 'ignore' });
|
|
67
|
-
// Debian/Ubuntu
|
|
68
|
-
execSync('sudo apt-get update', { stdio: 'inherit' });
|
|
69
|
-
execSync('sudo apt-get install glab -y', { stdio: 'inherit' });
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
catch {
|
|
73
|
-
// Not Debian/Ubuntu or glab not in default repos
|
|
74
|
-
}
|
|
75
|
-
try {
|
|
76
|
-
execSync('which yum', { stdio: 'ignore' });
|
|
77
|
-
// RHEL/Fedora/CentOS
|
|
78
|
-
execSync('sudo dnf install glab -y', { stdio: 'inherit' });
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
catch {
|
|
82
|
-
// Not RHEL
|
|
83
|
-
}
|
|
84
|
-
throw new Error('Could not detect package manager or glab not available. Please install glab manually: https://gitlab.com/gitlab-org/cli');
|
|
85
|
-
}
|
|
86
|
-
async installOnWindows() {
|
|
87
|
-
throw new Error('Please install GitLab CLI manually from: https://gitlab.com/gitlab-org/cli');
|
|
88
|
-
}
|
|
89
|
-
async uninstall() {
|
|
90
|
-
const platform = os.platform();
|
|
91
|
-
logger.info('Uninstalling GitLab CLI...');
|
|
92
|
-
try {
|
|
93
|
-
switch (platform) {
|
|
94
|
-
case 'darwin':
|
|
95
|
-
execSync('brew uninstall glab', { stdio: 'inherit' });
|
|
96
|
-
break;
|
|
97
|
-
case 'linux':
|
|
98
|
-
try {
|
|
99
|
-
execSync('which apt-get', { stdio: 'ignore' });
|
|
100
|
-
execSync('sudo apt remove glab -y', { stdio: 'inherit' });
|
|
101
|
-
}
|
|
102
|
-
catch {
|
|
103
|
-
execSync('sudo dnf remove glab -y', { stdio: 'inherit' });
|
|
104
|
-
}
|
|
105
|
-
break;
|
|
106
|
-
default:
|
|
107
|
-
throw new Error('Please uninstall GitLab CLI manually');
|
|
108
|
-
}
|
|
109
|
-
logger.success('GitLab CLI uninstalled successfully');
|
|
110
|
-
}
|
|
111
|
-
catch (error) {
|
|
112
|
-
logger.error('Failed to uninstall GitLab CLI');
|
|
113
|
-
throw error;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
async isAuthenticated() {
|
|
117
|
-
try {
|
|
118
|
-
execSync('glab auth status', { stdio: 'ignore' });
|
|
119
|
-
return true;
|
|
120
|
-
}
|
|
121
|
-
catch {
|
|
122
|
-
return false;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
async authenticate() {
|
|
126
|
-
logger.info('Starting GitLab authentication...');
|
|
127
|
-
return new Promise((resolve, reject) => {
|
|
128
|
-
const authProcess = spawn('glab', ['auth', 'login'], {
|
|
129
|
-
stdio: 'inherit',
|
|
130
|
-
shell: true
|
|
131
|
-
});
|
|
132
|
-
authProcess.on('close', (code) => {
|
|
133
|
-
if (code === 0) {
|
|
134
|
-
logger.success('GitLab authentication successful!');
|
|
135
|
-
resolve();
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
reject(new Error('GitLab authentication failed'));
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
authProcess.on('error', (error) => {
|
|
142
|
-
reject(error);
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
//# sourceMappingURL=gitlab.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../../src/clients/adapters/gitlab.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,MAAM,OAAO,mBAAmB;IAC9B,IAAI,GAAG,QAAQ,CAAC;IAChB,WAAW,GAAG,YAAY,CAAC;IAC3B,WAAW,GAAG,0CAA0C,CAAC;IACzD,UAAU,GAAG,MAAM,CAAC;IAEpB,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,QAAQ,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACjE,sEAAsE;YACtE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACjD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAE/B,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAE/C,IAAI,CAAC;YACH,QAAQ,QAAQ,EAAE,CAAC;gBACjB,KAAK,QAAQ,EAAE,QAAQ;oBACrB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC1B,MAAM;gBACR,KAAK,OAAO;oBACV,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC5B,MAAM;gBACR,KAAK,OAAO;oBACV,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC9B,MAAM;gBACR;oBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YACzD,CAAC;YAED,MAAM,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC7C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,IAAI,CAAC;YACH,iCAAiC;YACjC,QAAQ,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC5C,QAAQ,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;QAClG,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,gCAAgC;QAChC,IAAI,CAAC;YACH,QAAQ,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC/C,gBAAgB;YAChB,QAAQ,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACtD,QAAQ,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;QACnD,CAAC;QAED,IAAI,CAAC;YACH,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC3C,qBAAqB;YACrB,QAAQ,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAAC,MAAM,CAAC;YACP,WAAW;QACb,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,yHAAyH,CAAC,CAAC;IAC7I,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAChG,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAE/B,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAE1C,IAAI,CAAC;YACH,QAAQ,QAAQ,EAAE,CAAC;gBACjB,KAAK,QAAQ;oBACX,QAAQ,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBACtD,MAAM;gBACR,KAAK,OAAO;oBACV,IAAI,CAAC;wBACH,QAAQ,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;wBAC/C,QAAQ,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC5D,CAAC;oBAAC,MAAM,CAAC;wBACP,QAAQ,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC5D,CAAC;oBACD,MAAM;gBACR;oBACE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC/C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC;YACH,QAAQ,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAEjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;gBACnD,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YAEH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/B,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;oBACpD,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAChC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export interface ClientAdapter {
|
|
2
|
-
name: string;
|
|
3
|
-
displayName: string;
|
|
4
|
-
description: string;
|
|
5
|
-
cliCommand: string;
|
|
6
|
-
install(): Promise<void>;
|
|
7
|
-
uninstall(): Promise<void>;
|
|
8
|
-
isInstalled(): Promise<boolean>;
|
|
9
|
-
getVersion(): Promise<string | null>;
|
|
10
|
-
isAuthenticated?(): Promise<boolean>;
|
|
11
|
-
authenticate?(): Promise<void>;
|
|
12
|
-
}
|
|
13
|
-
export declare class ClientRegistry {
|
|
14
|
-
private static adapters;
|
|
15
|
-
static getClient(name: string): ClientAdapter | undefined;
|
|
16
|
-
static getAllClients(): ClientAdapter[];
|
|
17
|
-
static getClientNames(): string[];
|
|
18
|
-
static getInstalledClients(): Promise<ClientAdapter[]>;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/clients/registry.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IAEnB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAGrC,eAAe,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAGpB;IAEH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIzD,MAAM,CAAC,aAAa,IAAI,aAAa,EAAE;IAIvC,MAAM,CAAC,cAAc,IAAI,MAAM,EAAE;WAIpB,mBAAmB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;CAS7D"}
|