@codemieai/code 0.0.5 → 0.0.7
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 +248 -25
- package/bin/agent-executor.js +43 -0
- package/dist/agents/codemie-code/agent.d.ts.map +1 -1
- package/dist/agents/codemie-code/agent.js +5 -3
- package/dist/agents/codemie-code/agent.js.map +1 -1
- package/dist/agents/codemie-code/tokenUtils.d.ts +2 -2
- package/dist/agents/codemie-code/tokenUtils.js +2 -2
- package/dist/agents/codemie-code/tokenUtils.js.map +1 -1
- package/dist/agents/codemie-code/ui.d.ts.map +1 -1
- package/dist/agents/codemie-code/ui.js +0 -7
- package/dist/agents/codemie-code/ui.js.map +1 -1
- package/dist/agents/core/AgentCLI.d.ts +44 -0
- package/dist/agents/core/AgentCLI.d.ts.map +1 -0
- package/dist/agents/core/AgentCLI.js +224 -0
- package/dist/agents/core/AgentCLI.js.map +1 -0
- package/dist/agents/core/BaseAgentAdapter.d.ts +48 -0
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -0
- package/dist/agents/core/BaseAgentAdapter.js +224 -0
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -0
- package/dist/agents/core/types.d.ts +64 -0
- package/dist/agents/core/types.d.ts.map +1 -0
- package/dist/agents/core/types.js +5 -0
- package/dist/agents/core/types.js.map +1 -0
- package/dist/agents/plugins/claude.plugin.d.ts +13 -0
- package/dist/agents/plugins/claude.plugin.d.ts.map +1 -0
- package/dist/agents/plugins/claude.plugin.js +35 -0
- package/dist/agents/plugins/claude.plugin.js.map +1 -0
- package/dist/agents/plugins/codemie-code.plugin.d.ts +20 -0
- package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -0
- package/dist/agents/plugins/codemie-code.plugin.js +137 -0
- package/dist/agents/plugins/codemie-code.plugin.js.map +1 -0
- package/dist/agents/plugins/codex.plugin.d.ts +13 -0
- package/dist/agents/plugins/codex.plugin.d.ts.map +1 -0
- package/dist/agents/plugins/codex.plugin.js +43 -0
- package/dist/agents/plugins/codex.plugin.js.map +1 -0
- package/dist/agents/plugins/gemini.plugin.d.ts +13 -0
- package/dist/agents/plugins/gemini.plugin.d.ts.map +1 -0
- package/dist/agents/plugins/gemini.plugin.js +43 -0
- package/dist/agents/plugins/gemini.plugin.js.map +1 -0
- package/dist/agents/registry.d.ts +6 -10
- package/dist/agents/registry.d.ts.map +1 -1
- package/dist/agents/registry.js +13 -7
- package/dist/agents/registry.js.map +1 -1
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/config.js +14 -180
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/profile.d.ts +3 -0
- package/dist/cli/commands/profile.d.ts.map +1 -0
- package/dist/cli/commands/profile.js +167 -0
- package/dist/cli/commands/profile.js.map +1 -0
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +226 -35
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/index.js +2 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/env/types.d.ts +79 -0
- package/dist/env/types.d.ts.map +1 -0
- package/dist/env/types.js +16 -0
- package/dist/env/types.js.map +1 -0
- package/dist/utils/config-loader.d.ts +57 -34
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +200 -27
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/model-fetcher.d.ts.map +1 -1
- package/dist/utils/model-fetcher.js +1 -3
- package/dist/utils/model-fetcher.js.map +1 -1
- package/package.json +6 -4
- package/bin/codemie-claude.js +0 -145
- package/bin/codemie-code.js +0 -136
- package/bin/codemie-codex.js +0 -137
- package/dist/agents/adapters/claude-code.d.ts +0 -17
- package/dist/agents/adapters/claude-code.d.ts.map +0 -1
- package/dist/agents/adapters/claude-code.js +0 -134
- package/dist/agents/adapters/claude-code.js.map +0 -1
- package/dist/agents/adapters/codemie-code.d.ts +0 -21
- package/dist/agents/adapters/codemie-code.d.ts.map +0 -1
- package/dist/agents/adapters/codemie-code.js +0 -110
- package/dist/agents/adapters/codemie-code.js.map +0 -1
- package/dist/agents/adapters/codex.d.ts +0 -17
- package/dist/agents/adapters/codex.d.ts.map +0 -1
- package/dist/agents/adapters/codex.js +0 -145
- package/dist/agents/adapters/codex.js.map +0 -1
- package/dist/cli/commands/run.d.ts +0 -3
- package/dist/cli/commands/run.d.ts.map +0 -1
- package/dist/cli/commands/run.js +0 -333
- package/dist/cli/commands/run.js.map +0 -1
- package/dist/utils/agent-compatibility.d.ts +0 -32
- package/dist/utils/agent-compatibility.d.ts.map +0 -1
- package/dist/utils/agent-compatibility.js +0 -140
- package/dist/utils/agent-compatibility.js.map +0 -1
|
@@ -1,32 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,140 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-compatibility.js","sourceRoot":"","sources":["../../src/utils/agent-compatibility.ts"],"names":[],"mappings":"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"}
|