@codemieai/code 0.0.3 ā 0.0.4
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 +375 -325
- package/bin/codemie-claude.js +23 -0
- package/bin/codemie-code.js +49 -11
- package/bin/codemie-codex.js +12 -13
- package/dist/agents/adapters/claude-code.d.ts +5 -0
- package/dist/agents/adapters/claude-code.d.ts.map +1 -1
- package/dist/agents/adapters/claude-code.js +76 -18
- package/dist/agents/adapters/claude-code.js.map +1 -1
- package/dist/agents/adapters/codex.d.ts +5 -0
- package/dist/agents/adapters/codex.d.ts.map +1 -1
- package/dist/agents/adapters/codex.js +75 -17
- package/dist/agents/adapters/codex.js.map +1 -1
- package/dist/agents/codemie-code/agent.d.ts.map +1 -1
- package/dist/agents/codemie-code/agent.js +187 -21
- 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 +29 -27
- package/dist/agents/codemie-code/config.js.map +1 -1
- package/dist/agents/codemie-code/index.d.ts +16 -2
- package/dist/agents/codemie-code/index.d.ts.map +1 -1
- package/dist/agents/codemie-code/index.js +74 -6
- package/dist/agents/codemie-code/index.js.map +1 -1
- package/dist/agents/codemie-code/modes/contextAwarePlanning.d.ts +87 -0
- package/dist/agents/codemie-code/modes/contextAwarePlanning.d.ts.map +1 -0
- package/dist/agents/codemie-code/modes/contextAwarePlanning.js +957 -0
- package/dist/agents/codemie-code/modes/contextAwarePlanning.js.map +1 -0
- package/dist/agents/codemie-code/modes/planMode.d.ts +116 -0
- package/dist/agents/codemie-code/modes/planMode.d.ts.map +1 -0
- package/dist/agents/codemie-code/modes/planMode.js +537 -0
- package/dist/agents/codemie-code/modes/planMode.js.map +1 -0
- package/dist/agents/codemie-code/prompts.d.ts +29 -0
- package/dist/agents/codemie-code/prompts.d.ts.map +1 -1
- package/dist/agents/codemie-code/prompts.js +129 -0
- package/dist/agents/codemie-code/prompts.js.map +1 -1
- package/dist/agents/codemie-code/storage/todoStorage.d.ts +78 -0
- package/dist/agents/codemie-code/storage/todoStorage.d.ts.map +1 -0
- package/dist/agents/codemie-code/storage/todoStorage.js +225 -0
- package/dist/agents/codemie-code/storage/todoStorage.js.map +1 -0
- package/dist/agents/codemie-code/tokenUtils.js +1 -1
- package/dist/agents/codemie-code/tokenUtils.js.map +1 -1
- package/dist/agents/codemie-code/tools/index.d.ts +26 -0
- package/dist/agents/codemie-code/tools/index.d.ts.map +1 -1
- package/dist/agents/codemie-code/tools/index.js +182 -14
- package/dist/agents/codemie-code/tools/index.js.map +1 -1
- package/dist/agents/codemie-code/tools/planning.d.ts +53 -0
- package/dist/agents/codemie-code/tools/planning.d.ts.map +1 -0
- package/dist/agents/codemie-code/tools/planning.js +224 -0
- package/dist/agents/codemie-code/tools/planning.js.map +1 -0
- package/dist/agents/codemie-code/types.d.ts +170 -6
- package/dist/agents/codemie-code/types.d.ts.map +1 -1
- package/dist/agents/codemie-code/types.js.map +1 -1
- package/dist/agents/codemie-code/ui/progressTracker.d.ts +125 -0
- package/dist/agents/codemie-code/ui/progressTracker.d.ts.map +1 -0
- package/dist/agents/codemie-code/ui/progressTracker.js +343 -0
- package/dist/agents/codemie-code/ui/progressTracker.js.map +1 -0
- package/dist/agents/codemie-code/ui/todoPanel.d.ts +112 -0
- package/dist/agents/codemie-code/ui/todoPanel.d.ts.map +1 -0
- package/dist/agents/codemie-code/ui/todoPanel.js +318 -0
- package/dist/agents/codemie-code/ui/todoPanel.js.map +1 -0
- package/dist/agents/codemie-code/ui.d.ts +106 -10
- package/dist/agents/codemie-code/ui.d.ts.map +1 -1
- package/dist/agents/codemie-code/ui.js +913 -129
- package/dist/agents/codemie-code/ui.js.map +1 -1
- package/dist/agents/codemie-code/utils/progressionEnforcer.d.ts +87 -0
- package/dist/agents/codemie-code/utils/progressionEnforcer.d.ts.map +1 -0
- package/dist/agents/codemie-code/utils/progressionEnforcer.js +293 -0
- package/dist/agents/codemie-code/utils/progressionEnforcer.js.map +1 -0
- package/dist/agents/codemie-code/utils/todoParser.d.ts +41 -0
- package/dist/agents/codemie-code/utils/todoParser.d.ts.map +1 -0
- package/dist/agents/codemie-code/utils/todoParser.js +305 -0
- package/dist/agents/codemie-code/utils/todoParser.js.map +1 -0
- package/dist/agents/codemie-code/utils/todoValidator.d.ts +65 -0
- package/dist/agents/codemie-code/utils/todoValidator.d.ts.map +1 -0
- package/dist/agents/codemie-code/utils/todoValidator.js +249 -0
- package/dist/agents/codemie-code/utils/todoValidator.js.map +1 -0
- package/dist/agents/codemie-code/validators/planValidator.d.ts +94 -0
- package/dist/agents/codemie-code/validators/planValidator.d.ts.map +1 -0
- package/dist/agents/codemie-code/validators/planValidator.js +281 -0
- package/dist/agents/codemie-code/validators/planValidator.js.map +1 -0
- package/dist/agents/registry.d.ts.map +1 -1
- package/dist/agents/registry.js +7 -5
- package/dist/agents/registry.js.map +1 -1
- package/dist/cli/commands/auth.d.ts +3 -0
- package/dist/cli/commands/auth.d.ts.map +1 -0
- package/dist/cli/commands/auth.js +170 -0
- package/dist/cli/commands/auth.js.map +1 -0
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/config.js +40 -13
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +209 -16
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/env.js +3 -3
- package/dist/cli/commands/env.js.map +1 -1
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +2 -1
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +15 -9
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +177 -11
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/tools.d.ts +6 -0
- package/dist/cli/commands/tools.d.ts.map +1 -0
- package/dist/cli/commands/tools.js +244 -0
- package/dist/cli/commands/tools.js.map +1 -0
- package/dist/cli/commands/version.js +1 -1
- package/dist/cli/commands/version.js.map +1 -1
- package/dist/cli/commands/workflow.d.ts +6 -0
- package/dist/cli/commands/workflow.d.ts.map +1 -0
- package/dist/cli/commands/workflow.js +424 -0
- package/dist/cli/commands/workflow.js.map +1 -0
- package/dist/cli/index.js +39 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/clients/adapters/github.d.ts +17 -0
- package/dist/clients/adapters/github.d.ts.map +1 -0
- package/dist/clients/adapters/github.js +150 -0
- package/dist/clients/adapters/github.js.map +1 -0
- package/dist/clients/adapters/gitlab.d.ts +17 -0
- package/dist/clients/adapters/gitlab.d.ts.map +1 -0
- package/dist/clients/adapters/gitlab.js +147 -0
- package/dist/clients/adapters/gitlab.js.map +1 -0
- package/dist/clients/registry.d.ts +20 -0
- package/dist/clients/registry.d.ts.map +1 -0
- package/dist/clients/registry.js +27 -0
- package/dist/clients/registry.js.map +1 -0
- package/dist/tools/detector.d.ts +33 -0
- package/dist/tools/detector.d.ts.map +1 -0
- package/dist/tools/detector.js +145 -0
- package/dist/tools/detector.js.map +1 -0
- package/dist/tools/index.d.ts +8 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +8 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/manager.d.ts +21 -0
- package/dist/tools/manager.d.ts.map +1 -0
- package/dist/tools/manager.js +104 -0
- package/dist/tools/manager.js.map +1 -0
- package/dist/tools/registry.d.ts +8 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +36 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/types.d.ts +41 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +5 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/types/sso.d.ts +42 -0
- package/dist/types/sso.d.ts.map +1 -0
- package/dist/types/sso.js +2 -0
- package/dist/types/sso.js.map +1 -0
- package/dist/utils/agent-compatibility.d.ts +32 -0
- package/dist/utils/agent-compatibility.d.ts.map +1 -0
- package/dist/utils/agent-compatibility.js +140 -0
- package/dist/utils/agent-compatibility.js.map +1 -0
- package/dist/utils/codemie-integration-validator.d.ts +17 -0
- package/dist/utils/codemie-integration-validator.d.ts.map +1 -0
- package/dist/utils/codemie-integration-validator.js +105 -0
- package/dist/utils/codemie-integration-validator.js.map +1 -0
- package/dist/utils/codemie-model-fetcher.d.ts +11 -0
- package/dist/utils/codemie-model-fetcher.d.ts.map +1 -0
- package/dist/utils/codemie-model-fetcher.js +242 -0
- package/dist/utils/codemie-model-fetcher.js.map +1 -0
- package/dist/utils/config-loader.d.ts +23 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +73 -27
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/credential-store.d.ts +16 -0
- package/dist/utils/credential-store.d.ts.map +1 -0
- package/dist/utils/credential-store.js +109 -0
- package/dist/utils/credential-store.js.map +1 -0
- package/dist/utils/first-time.d.ts +1 -1
- package/dist/utils/first-time.d.ts.map +1 -1
- package/dist/utils/first-time.js +52 -71
- package/dist/utils/first-time.js.map +1 -1
- package/dist/utils/health-checker.d.ts.map +1 -1
- package/dist/utils/health-checker.js +5 -1
- package/dist/utils/health-checker.js.map +1 -1
- package/dist/utils/model-fetcher.d.ts.map +1 -1
- package/dist/utils/model-fetcher.js +15 -2
- package/dist/utils/model-fetcher.js.map +1 -1
- package/dist/utils/sso-auth.d.ts +15 -0
- package/dist/utils/sso-auth.d.ts.map +1 -0
- package/dist/utils/sso-auth.js +207 -0
- package/dist/utils/sso-auth.js.map +1 -0
- package/dist/utils/sso-gateway.d.ts +47 -0
- package/dist/utils/sso-gateway.d.ts.map +1 -0
- package/dist/utils/sso-gateway.js +298 -0
- package/dist/utils/sso-gateway.js.map +1 -0
- package/dist/workflows/detector.d.ts +37 -0
- package/dist/workflows/detector.d.ts.map +1 -0
- package/dist/workflows/detector.js +160 -0
- package/dist/workflows/detector.js.map +1 -0
- package/dist/workflows/index.d.ts +8 -0
- package/dist/workflows/index.d.ts.map +1 -0
- package/dist/workflows/index.js +8 -0
- package/dist/workflows/index.js.map +1 -0
- package/dist/workflows/installer.d.ts +24 -0
- package/dist/workflows/installer.d.ts.map +1 -0
- package/dist/workflows/installer.js +105 -0
- package/dist/workflows/installer.js.map +1 -0
- package/dist/workflows/registry.d.ts +29 -0
- package/dist/workflows/registry.d.ts.map +1 -0
- package/dist/workflows/registry.js +54 -0
- package/dist/workflows/registry.js.map +1 -0
- package/dist/workflows/templates/github/metadata.d.ts +6 -0
- package/dist/workflows/templates/github/metadata.d.ts.map +1 -0
- package/dist/workflows/templates/github/metadata.js +111 -0
- package/dist/workflows/templates/github/metadata.js.map +1 -0
- package/dist/workflows/templates/gitlab/metadata.d.ts +6 -0
- package/dist/workflows/templates/gitlab/metadata.d.ts.map +1 -0
- package/dist/workflows/templates/gitlab/metadata.js +14 -0
- package/dist/workflows/templates/gitlab/metadata.js.map +1 -0
- package/dist/workflows/types.d.ts +71 -0
- package/dist/workflows/types.d.ts.map +1 -0
- package/dist/workflows/types.js +5 -0
- package/dist/workflows/types.js.map +1 -0
- package/package.json +19 -6
- package/src/workflows/templates/github/code-ci.yml +529 -0
- package/src/workflows/templates/github/inline-fix.yml +665 -0
- package/src/workflows/templates/github/pr-review.yml +677 -0
- package/.claude/agents/README.md +0 -298
- package/.claude/agents/release-manager.md +0 -857
- package/.codemie/guides/git-workflow.md +0 -493
- package/CLAUDE.md +0 -225
- package/config.example.json +0 -10
- package/dist/agents/codemie-code/streaming/events.d.ts +0 -7
- package/dist/agents/codemie-code/streaming/events.d.ts.map +0 -1
- package/dist/agents/codemie-code/streaming/events.js +0 -7
- package/dist/agents/codemie-code/streaming/events.js.map +0 -1
- package/dist/agents/codemie-code/streaming/formatter.d.ts +0 -2
- package/dist/agents/codemie-code/streaming/formatter.d.ts.map +0 -1
- package/dist/agents/codemie-code/streaming/formatter.js +0 -2
- package/dist/agents/codemie-code/streaming/formatter.js.map +0 -1
- package/dist/agents/codemie-code/streaming/ui.d.ts +0 -2
- package/dist/agents/codemie-code/streaming/ui.d.ts.map +0 -1
- package/dist/agents/codemie-code/streaming/ui.js +0 -2
- package/dist/agents/codemie-code/streaming/ui.js.map +0 -1
- package/dist/agents/codemie-code/tools/command.d.ts +0 -2
- package/dist/agents/codemie-code/tools/command.d.ts.map +0 -1
- package/dist/agents/codemie-code/tools/command.js +0 -2
- package/dist/agents/codemie-code/tools/command.js.map +0 -1
- package/dist/agents/codemie-code/tools/filesystem.d.ts +0 -2
- package/dist/agents/codemie-code/tools/filesystem.d.ts.map +0 -1
- package/dist/agents/codemie-code/tools/filesystem.js +0 -2
- package/dist/agents/codemie-code/tools/filesystem.js.map +0 -1
- package/dist/agents/codemie-code/tools/git.d.ts +0 -2
- package/dist/agents/codemie-code/tools/git.d.ts.map +0 -1
- package/dist/agents/codemie-code/tools/git.js +0 -2
- package/dist/agents/codemie-code/tools/git.js.map +0 -1
- package/dist/agents/codemie-code/tools/security.d.ts +0 -2
- package/dist/agents/codemie-code/tools/security.d.ts.map +0 -1
- package/dist/agents/codemie-code/tools/security.js +0 -2
- package/dist/agents/codemie-code/tools/security.js.map +0 -1
- package/eslint.config.mjs +0 -43
- package/scripts/README.md +0 -80
- package/scripts/release.sh +0 -156
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VCS tools installation and management
|
|
3
|
+
*/
|
|
4
|
+
import { execSync } from 'node:child_process';
|
|
5
|
+
import { getToolInfo } from './registry.js';
|
|
6
|
+
import { isToolInstalled } from './detector.js';
|
|
7
|
+
/**
|
|
8
|
+
* Install a tool via npm
|
|
9
|
+
*/
|
|
10
|
+
export async function installTool(tool, options = {}) {
|
|
11
|
+
const toolInfo = getToolInfo(tool);
|
|
12
|
+
const { global = true, force = false } = options;
|
|
13
|
+
// Check if already installed
|
|
14
|
+
if (isToolInstalled(tool) && !force) {
|
|
15
|
+
throw new Error(`${toolInfo.displayName} is already installed. Use --force to reinstall.`);
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
const globalFlag = global ? '-g' : '';
|
|
19
|
+
const forceFlag = force ? '--force' : '';
|
|
20
|
+
console.log(`Installing ${toolInfo.displayName} via npm...`);
|
|
21
|
+
// Install via npm
|
|
22
|
+
execSync(`npm install ${globalFlag} ${forceFlag} ${toolInfo.npmPackage}`, {
|
|
23
|
+
stdio: 'inherit',
|
|
24
|
+
});
|
|
25
|
+
console.log(`ā
${toolInfo.displayName} installed successfully`);
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
throw new Error(`Failed to install ${toolInfo.displayName}: ${error instanceof Error ? error.message : String(error)}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Uninstall a tool
|
|
33
|
+
*/
|
|
34
|
+
export async function uninstallTool(tool) {
|
|
35
|
+
const toolInfo = getToolInfo(tool);
|
|
36
|
+
if (!isToolInstalled(tool)) {
|
|
37
|
+
throw new Error(`${toolInfo.displayName} is not installed`);
|
|
38
|
+
}
|
|
39
|
+
try {
|
|
40
|
+
console.log(`Uninstalling ${toolInfo.displayName}...`);
|
|
41
|
+
execSync(`npm uninstall -g ${toolInfo.npmPackage}`, {
|
|
42
|
+
stdio: 'inherit',
|
|
43
|
+
});
|
|
44
|
+
console.log(`ā
${toolInfo.displayName} uninstalled successfully`);
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
throw new Error(`Failed to uninstall ${toolInfo.displayName}: ${error instanceof Error ? error.message : String(error)}`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Update a tool
|
|
52
|
+
*/
|
|
53
|
+
export async function updateTool(tool) {
|
|
54
|
+
const toolInfo = getToolInfo(tool);
|
|
55
|
+
if (!isToolInstalled(tool)) {
|
|
56
|
+
throw new Error(`${toolInfo.displayName} is not installed. Install it first with: codemie tools install ${tool}`);
|
|
57
|
+
}
|
|
58
|
+
try {
|
|
59
|
+
console.log(`Updating ${toolInfo.displayName}...`);
|
|
60
|
+
execSync(`npm update -g ${toolInfo.npmPackage}`, {
|
|
61
|
+
stdio: 'inherit',
|
|
62
|
+
});
|
|
63
|
+
console.log(`ā
${toolInfo.displayName} updated successfully`);
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
throw new Error(`Failed to update ${toolInfo.displayName}: ${error instanceof Error ? error.message : String(error)}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Authenticate a tool
|
|
71
|
+
*/
|
|
72
|
+
export async function authenticateTool(tool, token) {
|
|
73
|
+
const toolInfo = getToolInfo(tool);
|
|
74
|
+
if (!isToolInstalled(tool)) {
|
|
75
|
+
throw new Error(`${toolInfo.displayName} is not installed. Install it first with: codemie tools install ${tool}`);
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
console.log(`Authenticating ${toolInfo.displayName}...`);
|
|
79
|
+
if (token) {
|
|
80
|
+
// Authenticate with token
|
|
81
|
+
if (tool === 'gh') {
|
|
82
|
+
execSync(`echo ${token} | gh auth login --with-token`, {
|
|
83
|
+
stdio: 'inherit',
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
else if (tool === 'glab') {
|
|
87
|
+
execSync(`glab auth login --token ${token}`, {
|
|
88
|
+
stdio: 'inherit',
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
// Interactive authentication
|
|
94
|
+
execSync(toolInfo.authCommand, {
|
|
95
|
+
stdio: 'inherit',
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
console.log(`ā
${toolInfo.displayName} authenticated successfully`);
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
throw new Error(`Failed to authenticate ${toolInfo.displayName}: ${error instanceof Error ? error.message : String(error)}`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/tools/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VCS tools registry
|
|
3
|
+
*/
|
|
4
|
+
import type { ToolInfo, VCSTool } from './types.js';
|
|
5
|
+
export declare const TOOLS: Record<VCSTool, ToolInfo>;
|
|
6
|
+
export declare function getToolInfo(tool: VCSTool): ToolInfo;
|
|
7
|
+
export declare function getAllTools(): ToolInfo[];
|
|
8
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEpD,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,CAyB3C,CAAC;AAEF,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAEnD;AAED,wBAAgB,WAAW,IAAI,QAAQ,EAAE,CAExC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VCS tools registry
|
|
3
|
+
*/
|
|
4
|
+
export const TOOLS = {
|
|
5
|
+
gh: {
|
|
6
|
+
name: 'gh',
|
|
7
|
+
displayName: 'GitHub CLI',
|
|
8
|
+
packageName: 'gh',
|
|
9
|
+
description: 'GitHub official command-line tool',
|
|
10
|
+
npmPackage: '@github/gh',
|
|
11
|
+
checkCommand: 'gh --version',
|
|
12
|
+
versionCommand: 'gh --version',
|
|
13
|
+
authCheckCommand: 'gh auth status',
|
|
14
|
+
authCommand: 'gh auth login',
|
|
15
|
+
docsUrl: 'https://cli.github.com/',
|
|
16
|
+
},
|
|
17
|
+
glab: {
|
|
18
|
+
name: 'glab',
|
|
19
|
+
displayName: 'GitLab CLI',
|
|
20
|
+
packageName: 'glab',
|
|
21
|
+
description: 'GitLab official command-line tool',
|
|
22
|
+
npmPackage: 'glab-cli',
|
|
23
|
+
checkCommand: 'glab --version',
|
|
24
|
+
versionCommand: 'glab --version',
|
|
25
|
+
authCheckCommand: 'glab auth status',
|
|
26
|
+
authCommand: 'glab auth login',
|
|
27
|
+
docsUrl: 'https://gitlab.com/gitlab-org/cli',
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
export function getToolInfo(tool) {
|
|
31
|
+
return TOOLS[tool];
|
|
32
|
+
}
|
|
33
|
+
export function getAllTools() {
|
|
34
|
+
return Object.values(TOOLS);
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,KAAK,GAA8B;IAC9C,EAAE,EAAE;QACF,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,mCAAmC;QAChD,UAAU,EAAE,YAAY;QACxB,YAAY,EAAE,cAAc;QAC5B,cAAc,EAAE,cAAc;QAC9B,gBAAgB,EAAE,gBAAgB;QAClC,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,yBAAyB;KACnC;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,mCAAmC;QAChD,UAAU,EAAE,UAAU;QACtB,YAAY,EAAE,gBAAgB;QAC9B,cAAc,EAAE,gBAAgB;QAChC,gBAAgB,EAAE,kBAAkB;QACpC,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,mCAAmC;KAC7C;CACF,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,IAAa;IACvC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VCS Tools management types
|
|
3
|
+
*/
|
|
4
|
+
export type VCSTool = 'gh' | 'glab';
|
|
5
|
+
export interface ToolInfo {
|
|
6
|
+
name: VCSTool;
|
|
7
|
+
displayName: string;
|
|
8
|
+
packageName: string;
|
|
9
|
+
description: string;
|
|
10
|
+
npmPackage: string;
|
|
11
|
+
checkCommand: string;
|
|
12
|
+
versionCommand: string;
|
|
13
|
+
authCheckCommand: string;
|
|
14
|
+
authCommand: string;
|
|
15
|
+
docsUrl: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ToolStatus {
|
|
18
|
+
tool: VCSTool;
|
|
19
|
+
installed: boolean;
|
|
20
|
+
version: string | null;
|
|
21
|
+
authenticated: boolean;
|
|
22
|
+
authUser: string | null;
|
|
23
|
+
installationMethod: 'npm' | 'system' | null;
|
|
24
|
+
}
|
|
25
|
+
export interface ToolInstallOptions {
|
|
26
|
+
global?: boolean;
|
|
27
|
+
force?: boolean;
|
|
28
|
+
}
|
|
29
|
+
export interface ToolAuthOptions {
|
|
30
|
+
token?: string;
|
|
31
|
+
interactive?: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface ToolsCheckResult {
|
|
34
|
+
git: {
|
|
35
|
+
installed: boolean;
|
|
36
|
+
version: string | null;
|
|
37
|
+
};
|
|
38
|
+
gh: ToolStatus;
|
|
39
|
+
glab: ToolStatus;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC;AAEpC,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,kBAAkB,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE;QACH,SAAS,EAAE,OAAO,CAAC;QACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,CAAC;IACF,EAAE,EAAE,UAAU,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export interface SSOAuthConfig {
|
|
2
|
+
codeMieUrl: string;
|
|
3
|
+
timeout?: number;
|
|
4
|
+
}
|
|
5
|
+
export interface SSOAuthResult {
|
|
6
|
+
success: boolean;
|
|
7
|
+
apiUrl?: string;
|
|
8
|
+
cookies?: Record<string, string>;
|
|
9
|
+
error?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface CodeMieModel {
|
|
12
|
+
id?: string;
|
|
13
|
+
base_name?: string;
|
|
14
|
+
deployment_name?: string;
|
|
15
|
+
label?: string;
|
|
16
|
+
name?: string;
|
|
17
|
+
description?: string;
|
|
18
|
+
context_length?: number;
|
|
19
|
+
provider?: string;
|
|
20
|
+
multimodal?: boolean;
|
|
21
|
+
react_agent?: boolean;
|
|
22
|
+
enabled?: boolean;
|
|
23
|
+
default?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface SSOCredentials {
|
|
26
|
+
cookies: Record<string, string>;
|
|
27
|
+
apiUrl: string;
|
|
28
|
+
expiresAt?: number;
|
|
29
|
+
}
|
|
30
|
+
export interface CodeMieIntegration {
|
|
31
|
+
id: string;
|
|
32
|
+
alias: string;
|
|
33
|
+
project_name: string;
|
|
34
|
+
credential_type: string;
|
|
35
|
+
created_at?: string;
|
|
36
|
+
updated_at?: string;
|
|
37
|
+
}
|
|
38
|
+
export interface CodeMieIntegrationsResponse {
|
|
39
|
+
integrations?: CodeMieIntegration[];
|
|
40
|
+
[key: string]: any;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=sso.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sso.d.ts","sourceRoot":"","sources":["../../src/types/sso.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,2BAA2B;IAC1C,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAEpC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sso.js","sourceRoot":"","sources":["../../src/types/sso.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { CodeMieConfigOptions } from './config-loader.js';
|
|
2
|
+
/**
|
|
3
|
+
* Validation result with helpful error information
|
|
4
|
+
*/
|
|
5
|
+
export interface CompatibilityResult {
|
|
6
|
+
valid: boolean;
|
|
7
|
+
error?: string;
|
|
8
|
+
suggestions?: string[];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Validate if an agent supports the configured provider
|
|
12
|
+
*/
|
|
13
|
+
export declare function validateProviderCompatibility(agentName: string, config: CodeMieConfigOptions): CompatibilityResult;
|
|
14
|
+
/**
|
|
15
|
+
* Validate if an agent supports the configured model
|
|
16
|
+
*/
|
|
17
|
+
export declare function validateModelCompatibility(agentName: string, config: CodeMieConfigOptions): CompatibilityResult;
|
|
18
|
+
/**
|
|
19
|
+
* Display compatibility error with suggestions
|
|
20
|
+
*/
|
|
21
|
+
export declare function displayCompatibilityError(result: CompatibilityResult, logger: {
|
|
22
|
+
error: (msg: string) => void;
|
|
23
|
+
}): void;
|
|
24
|
+
/**
|
|
25
|
+
* Get supported providers for an agent
|
|
26
|
+
*/
|
|
27
|
+
export declare function getSupportedProviders(agentName: string): string[];
|
|
28
|
+
/**
|
|
29
|
+
* Check if agent supports a specific provider
|
|
30
|
+
*/
|
|
31
|
+
export declare function supportsProvider(agentName: string, provider: string): boolean;
|
|
32
|
+
//# sourceMappingURL=agent-compatibility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-compatibility.d.ts","sourceRoot":"","sources":["../../src/utils/agent-compatibility.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAiC1D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,oBAAoB,GAC3B,mBAAmB,CAuCrB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,oBAAoB,GAC3B,mBAAmB,CAkCrB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE;IAAE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GACvC,IAAI,CAiCN;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAGjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAK7E"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
/**
|
|
3
|
+
* Centralized agent compatibility rules
|
|
4
|
+
* Add new agents or update provider support here
|
|
5
|
+
*/
|
|
6
|
+
const AGENT_COMPATIBILITY = {
|
|
7
|
+
'claude': {
|
|
8
|
+
supportedProviders: ['bedrock', 'openai', 'azure', 'litellm', 'ai-run-sso'],
|
|
9
|
+
blockedModelPatterns: [] // Claude accepts both Claude and GPT models
|
|
10
|
+
},
|
|
11
|
+
'codex': {
|
|
12
|
+
supportedProviders: ['openai', 'azure', 'litellm'],
|
|
13
|
+
blockedModelPatterns: [
|
|
14
|
+
/^claude/i, // Block any Claude models
|
|
15
|
+
/bedrock.*claude/i // Block Bedrock Claude models
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
'codemie-code': {
|
|
19
|
+
supportedProviders: ['bedrock', 'openai', 'azure', 'litellm', 'ai-run-sso'],
|
|
20
|
+
blockedModelPatterns: [] // Supports all models via LangChain
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Validate if an agent supports the configured provider
|
|
25
|
+
*/
|
|
26
|
+
export function validateProviderCompatibility(agentName, config) {
|
|
27
|
+
const compatibility = AGENT_COMPATIBILITY[agentName];
|
|
28
|
+
// If no rules defined, block by default for security
|
|
29
|
+
if (!compatibility) {
|
|
30
|
+
return {
|
|
31
|
+
valid: false,
|
|
32
|
+
error: `Unknown agent '${agentName}'`,
|
|
33
|
+
suggestions: ['Check agent name and try again']
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
const provider = config.provider || 'unknown';
|
|
37
|
+
// Check if provider is in supported list
|
|
38
|
+
if (!compatibility.supportedProviders.includes(provider)) {
|
|
39
|
+
const suggestions = [
|
|
40
|
+
`Supported providers: ${compatibility.supportedProviders.join(', ')}`,
|
|
41
|
+
'Run setup to choose a different provider: codemie setup'
|
|
42
|
+
];
|
|
43
|
+
// Add direct environment variable configuration hint for Anthropic agents
|
|
44
|
+
if (agentName === 'claude') {
|
|
45
|
+
suggestions.push('Or configure environment variables directly:', ' export ANTHROPIC_BASE_URL="https://litellm....."', ' export ANTHROPIC_AUTH_TOKEN="sk...."', ' export ANTHROPIC_MODEL="claude-4-5-sonnet"');
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
valid: false,
|
|
49
|
+
error: `Provider '${provider}' is not supported by ${agentName}`,
|
|
50
|
+
suggestions
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
return { valid: true };
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Validate if an agent supports the configured model
|
|
57
|
+
*/
|
|
58
|
+
export function validateModelCompatibility(agentName, config) {
|
|
59
|
+
const compatibility = AGENT_COMPATIBILITY[agentName];
|
|
60
|
+
// If no rules defined, block by default for security
|
|
61
|
+
if (!compatibility) {
|
|
62
|
+
return {
|
|
63
|
+
valid: false,
|
|
64
|
+
error: `Unknown agent '${agentName}'`,
|
|
65
|
+
suggestions: ['Check agent name and try again']
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
const model = config.model || 'unknown';
|
|
69
|
+
// Check if model matches any blocked pattern
|
|
70
|
+
if (compatibility.blockedModelPatterns) {
|
|
71
|
+
const isBlocked = compatibility.blockedModelPatterns.some(pattern => pattern.test(model));
|
|
72
|
+
if (isBlocked) {
|
|
73
|
+
return {
|
|
74
|
+
valid: false,
|
|
75
|
+
error: `Model '${model}' is not compatible with ${agentName}`,
|
|
76
|
+
suggestions: [
|
|
77
|
+
`${agentName} requires OpenAI-compatible models (e.g., gpt-5, gpt-4o)`,
|
|
78
|
+
`Switch model: codemie config set model gpt-4o`,
|
|
79
|
+
`Override for this session: codemie-${agentName} --model gpt-4o`
|
|
80
|
+
]
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return { valid: true };
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Display compatibility error with suggestions
|
|
88
|
+
*/
|
|
89
|
+
export function displayCompatibilityError(result, logger) {
|
|
90
|
+
if (result.error) {
|
|
91
|
+
logger.error(result.error);
|
|
92
|
+
}
|
|
93
|
+
if (result.suggestions && result.suggestions.length > 0) {
|
|
94
|
+
if (result.suggestions[0].toLowerCase().startsWith('supported')) {
|
|
95
|
+
console.log(chalk.dim(`\n${result.suggestions[0]}`));
|
|
96
|
+
// Display remaining suggestions as numbered options
|
|
97
|
+
if (result.suggestions.length > 1) {
|
|
98
|
+
console.log(chalk.dim('\nOptions:'));
|
|
99
|
+
result.suggestions.slice(1).forEach((suggestion, index) => {
|
|
100
|
+
// Don't number lines that start with whitespace (continuation lines)
|
|
101
|
+
if (suggestion.startsWith(' ')) {
|
|
102
|
+
console.log(chalk.dim(suggestion));
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
console.log(chalk.dim(` ${index + 1}. ${suggestion}`));
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
console.log(chalk.dim('\nOptions:'));
|
|
112
|
+
result.suggestions.forEach((suggestion, index) => {
|
|
113
|
+
// Don't number lines that start with whitespace (continuation lines)
|
|
114
|
+
if (suggestion.startsWith(' ')) {
|
|
115
|
+
console.log(chalk.dim(suggestion));
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
console.log(chalk.dim(` ${index + 1}. ${suggestion}`));
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Get supported providers for an agent
|
|
126
|
+
*/
|
|
127
|
+
export function getSupportedProviders(agentName) {
|
|
128
|
+
const compatibility = AGENT_COMPATIBILITY[agentName];
|
|
129
|
+
return compatibility?.supportedProviders || [];
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Check if agent supports a specific provider
|
|
133
|
+
*/
|
|
134
|
+
export function supportsProvider(agentName, provider) {
|
|
135
|
+
const compatibility = AGENT_COMPATIBILITY[agentName];
|
|
136
|
+
if (!compatibility)
|
|
137
|
+
return false; // Default to false for security
|
|
138
|
+
return compatibility.supportedProviders.includes(provider);
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=agent-compatibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-compatibility.js","sourceRoot":"","sources":["../../src/utils/agent-compatibility.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SSOAuthResult } from '../types/sso.js';
|
|
2
|
+
/**
|
|
3
|
+
* Validates that the user has required CodeMie integrations and prompts for selection
|
|
4
|
+
*/
|
|
5
|
+
export declare function validateCodeMieIntegrations(authResult: SSOAuthResult, spinner?: any): Promise<{
|
|
6
|
+
id: string;
|
|
7
|
+
alias: string;
|
|
8
|
+
}>;
|
|
9
|
+
/**
|
|
10
|
+
* Validates that a specific integration alias exists and is of type LiteLLM
|
|
11
|
+
*/
|
|
12
|
+
export declare function validateIntegrationAlias(apiUrl: string, cookies: Record<string, string>, integrationAlias: string): Promise<boolean>;
|
|
13
|
+
/**
|
|
14
|
+
* Gets all available integration types for debugging/informational purposes
|
|
15
|
+
*/
|
|
16
|
+
export declare function getAvailableIntegrationTypes(apiUrl: string, cookies: Record<string, string>): Promise<string[]>;
|
|
17
|
+
//# sourceMappingURL=codemie-integration-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codemie-integration-validator.d.ts","sourceRoot":"","sources":["../../src/utils/codemie-integration-validator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGpE;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,aAAa,EACzB,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBxC;AAuED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,OAAO,CAAC,CAalB;AAED;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,MAAM,EAAE,CAAC,CASnB"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import inquirer from 'inquirer';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { fetchCodeMieIntegrations, CODEMIE_ENDPOINTS } from './codemie-model-fetcher.js';
|
|
4
|
+
/**
|
|
5
|
+
* Validates that the user has required CodeMie integrations and prompts for selection
|
|
6
|
+
*/
|
|
7
|
+
export async function validateCodeMieIntegrations(authResult, spinner) {
|
|
8
|
+
const integrations = await fetchCodeMieIntegrations(authResult.apiUrl, authResult.cookies, CODEMIE_ENDPOINTS.USER_SETTINGS);
|
|
9
|
+
// Integrations are already filtered by API for LiteLLM type
|
|
10
|
+
if (integrations.length === 0) {
|
|
11
|
+
console.log(chalk.red('\nā No CodeMie LiteLLM integration found\n'));
|
|
12
|
+
console.log(chalk.yellow('š Required Setup Steps:'));
|
|
13
|
+
console.log(chalk.white(' 1. Contact your support team to request a LiteLLM key'));
|
|
14
|
+
console.log(chalk.white(' 2. In CodeMie, go to Integrations ā User Integrations'));
|
|
15
|
+
console.log(chalk.white(' 3. Add the key as a new integration with type "LiteLLM"'));
|
|
16
|
+
console.log(chalk.white(' 4. Re-run: codemie setup\n'));
|
|
17
|
+
throw new Error('CodeMie LiteLLM integration setup required');
|
|
18
|
+
}
|
|
19
|
+
// Return selected integration ID and alias
|
|
20
|
+
return await promptForIntegrationSelection(integrations, spinner);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Prompts user to select from available LiteLLM integrations
|
|
24
|
+
*/
|
|
25
|
+
async function promptForIntegrationSelection(integrations, spinner) {
|
|
26
|
+
if (integrations.length === 1) {
|
|
27
|
+
// Auto-select single integration with confirmation
|
|
28
|
+
const integration = integrations[0];
|
|
29
|
+
const displayName = integration.project_name
|
|
30
|
+
? `${integration.alias} (${integration.project_name})`
|
|
31
|
+
: integration.alias;
|
|
32
|
+
// Stop spinner before showing prompt
|
|
33
|
+
if (spinner) {
|
|
34
|
+
spinner.stop();
|
|
35
|
+
}
|
|
36
|
+
const { confirm } = await inquirer.prompt([{
|
|
37
|
+
type: 'confirm',
|
|
38
|
+
name: 'confirm',
|
|
39
|
+
message: `Use CodeMie LiteLLM integration "${displayName}"?`,
|
|
40
|
+
default: true
|
|
41
|
+
}]);
|
|
42
|
+
if (!confirm) {
|
|
43
|
+
throw new Error('Setup cancelled by user');
|
|
44
|
+
}
|
|
45
|
+
console.log(chalk.green(`ā Selected integration: ${displayName}`));
|
|
46
|
+
return { id: integration.id, alias: integration.alias };
|
|
47
|
+
}
|
|
48
|
+
// Multiple integrations - show selection list
|
|
49
|
+
// Stop spinner before showing prompt
|
|
50
|
+
if (spinner) {
|
|
51
|
+
spinner.stop();
|
|
52
|
+
}
|
|
53
|
+
const choices = integrations.map(integration => {
|
|
54
|
+
// Show both alias and project_name
|
|
55
|
+
const displayName = integration.project_name && integration.project_name.trim() !== ''
|
|
56
|
+
? `${integration.alias} (${integration.project_name})`
|
|
57
|
+
: integration.alias;
|
|
58
|
+
return {
|
|
59
|
+
name: displayName,
|
|
60
|
+
value: integration.id
|
|
61
|
+
};
|
|
62
|
+
});
|
|
63
|
+
const { selectedId } = await inquirer.prompt([{
|
|
64
|
+
type: 'list',
|
|
65
|
+
name: 'selectedId',
|
|
66
|
+
message: `Choose a CodeMie LiteLLM integration (${integrations.length} available):`,
|
|
67
|
+
choices,
|
|
68
|
+
pageSize: 15
|
|
69
|
+
}]);
|
|
70
|
+
const selectedIntegration = integrations.find(i => i.id === selectedId);
|
|
71
|
+
const displayName = selectedIntegration?.project_name
|
|
72
|
+
? `${selectedIntegration.alias} (${selectedIntegration.project_name})`
|
|
73
|
+
: selectedIntegration?.alias || selectedId;
|
|
74
|
+
console.log(chalk.green(`ā Selected integration: ${displayName}`));
|
|
75
|
+
return { id: selectedId, alias: selectedIntegration?.alias || '' };
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Validates that a specific integration alias exists and is of type LiteLLM
|
|
79
|
+
*/
|
|
80
|
+
export async function validateIntegrationAlias(apiUrl, cookies, integrationAlias) {
|
|
81
|
+
try {
|
|
82
|
+
const integrations = await fetchCodeMieIntegrations(apiUrl, cookies);
|
|
83
|
+
const integration = integrations.find(i => i.alias === integrationAlias && i.credential_type === 'LiteLLM');
|
|
84
|
+
return !!integration;
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
console.error('Error validating integration alias:', error);
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Gets all available integration types for debugging/informational purposes
|
|
93
|
+
*/
|
|
94
|
+
export async function getAvailableIntegrationTypes(apiUrl, cookies) {
|
|
95
|
+
try {
|
|
96
|
+
const integrations = await fetchCodeMieIntegrations(apiUrl, cookies);
|
|
97
|
+
const types = [...new Set(integrations.map(i => i.credential_type))];
|
|
98
|
+
return types.sort();
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
console.error('Error fetching integration types:', error);
|
|
102
|
+
return [];
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=codemie-integration-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codemie-integration-validator.js","sourceRoot":"","sources":["../../src/utils/codemie-integration-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CodeMieIntegration } from '../types/sso.js';
|
|
2
|
+
export declare const CODEMIE_ENDPOINTS: {
|
|
3
|
+
readonly MODELS: "/v1/llm_models";
|
|
4
|
+
readonly USER_SETTINGS: "/v1/settings/user";
|
|
5
|
+
};
|
|
6
|
+
export declare function fetchCodeMieModels(apiUrl: string, cookies: Record<string, string>): Promise<string[]>;
|
|
7
|
+
export declare function fetchCodeMieModelsFromConfig(): Promise<string[]>;
|
|
8
|
+
export declare function fetchCodeMieIntegrations(apiUrl: string, cookies: Record<string, string>, endpointPath?: string): Promise<CodeMieIntegration[]>;
|
|
9
|
+
export declare function fetchCodeMieIntegrationsFromConfig(): Promise<CodeMieIntegration[]>;
|
|
10
|
+
export declare function validateCodeMieConnectivity(): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=codemie-model-fetcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codemie-model-fetcher.d.ts","sourceRoot":"","sources":["../../src/utils/codemie-model-fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,kBAAkB,EAA+B,MAAM,iBAAiB,CAAC;AAMhG,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AAEX,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,MAAM,EAAE,CAAC,CA4FnB;AAED,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAStE;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,YAAY,GAAE,MAAwC,GACrD,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAyC/B;AA4GD,wBAAsB,kCAAkC,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,CASxF;AAED,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC,CAKjE"}
|