@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.
Files changed (90) hide show
  1. package/README.md +248 -25
  2. package/bin/agent-executor.js +43 -0
  3. package/dist/agents/codemie-code/agent.d.ts.map +1 -1
  4. package/dist/agents/codemie-code/agent.js +5 -3
  5. package/dist/agents/codemie-code/agent.js.map +1 -1
  6. package/dist/agents/codemie-code/tokenUtils.d.ts +2 -2
  7. package/dist/agents/codemie-code/tokenUtils.js +2 -2
  8. package/dist/agents/codemie-code/tokenUtils.js.map +1 -1
  9. package/dist/agents/codemie-code/ui.d.ts.map +1 -1
  10. package/dist/agents/codemie-code/ui.js +0 -7
  11. package/dist/agents/codemie-code/ui.js.map +1 -1
  12. package/dist/agents/core/AgentCLI.d.ts +44 -0
  13. package/dist/agents/core/AgentCLI.d.ts.map +1 -0
  14. package/dist/agents/core/AgentCLI.js +224 -0
  15. package/dist/agents/core/AgentCLI.js.map +1 -0
  16. package/dist/agents/core/BaseAgentAdapter.d.ts +48 -0
  17. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -0
  18. package/dist/agents/core/BaseAgentAdapter.js +224 -0
  19. package/dist/agents/core/BaseAgentAdapter.js.map +1 -0
  20. package/dist/agents/core/types.d.ts +64 -0
  21. package/dist/agents/core/types.d.ts.map +1 -0
  22. package/dist/agents/core/types.js +5 -0
  23. package/dist/agents/core/types.js.map +1 -0
  24. package/dist/agents/plugins/claude.plugin.d.ts +13 -0
  25. package/dist/agents/plugins/claude.plugin.d.ts.map +1 -0
  26. package/dist/agents/plugins/claude.plugin.js +35 -0
  27. package/dist/agents/plugins/claude.plugin.js.map +1 -0
  28. package/dist/agents/plugins/codemie-code.plugin.d.ts +20 -0
  29. package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -0
  30. package/dist/agents/plugins/codemie-code.plugin.js +137 -0
  31. package/dist/agents/plugins/codemie-code.plugin.js.map +1 -0
  32. package/dist/agents/plugins/codex.plugin.d.ts +13 -0
  33. package/dist/agents/plugins/codex.plugin.d.ts.map +1 -0
  34. package/dist/agents/plugins/codex.plugin.js +43 -0
  35. package/dist/agents/plugins/codex.plugin.js.map +1 -0
  36. package/dist/agents/plugins/gemini.plugin.d.ts +13 -0
  37. package/dist/agents/plugins/gemini.plugin.d.ts.map +1 -0
  38. package/dist/agents/plugins/gemini.plugin.js +43 -0
  39. package/dist/agents/plugins/gemini.plugin.js.map +1 -0
  40. package/dist/agents/registry.d.ts +6 -10
  41. package/dist/agents/registry.d.ts.map +1 -1
  42. package/dist/agents/registry.js +13 -7
  43. package/dist/agents/registry.js.map +1 -1
  44. package/dist/cli/commands/config.d.ts.map +1 -1
  45. package/dist/cli/commands/config.js +14 -180
  46. package/dist/cli/commands/config.js.map +1 -1
  47. package/dist/cli/commands/profile.d.ts +3 -0
  48. package/dist/cli/commands/profile.d.ts.map +1 -0
  49. package/dist/cli/commands/profile.js +167 -0
  50. package/dist/cli/commands/profile.js.map +1 -0
  51. package/dist/cli/commands/setup.d.ts.map +1 -1
  52. package/dist/cli/commands/setup.js +226 -35
  53. package/dist/cli/commands/setup.js.map +1 -1
  54. package/dist/cli/index.js +2 -2
  55. package/dist/cli/index.js.map +1 -1
  56. package/dist/env/types.d.ts +79 -0
  57. package/dist/env/types.d.ts.map +1 -0
  58. package/dist/env/types.js +16 -0
  59. package/dist/env/types.js.map +1 -0
  60. package/dist/utils/config-loader.d.ts +57 -34
  61. package/dist/utils/config-loader.d.ts.map +1 -1
  62. package/dist/utils/config-loader.js +200 -27
  63. package/dist/utils/config-loader.js.map +1 -1
  64. package/dist/utils/model-fetcher.d.ts.map +1 -1
  65. package/dist/utils/model-fetcher.js +1 -3
  66. package/dist/utils/model-fetcher.js.map +1 -1
  67. package/package.json +6 -4
  68. package/bin/codemie-claude.js +0 -145
  69. package/bin/codemie-code.js +0 -136
  70. package/bin/codemie-codex.js +0 -137
  71. package/dist/agents/adapters/claude-code.d.ts +0 -17
  72. package/dist/agents/adapters/claude-code.d.ts.map +0 -1
  73. package/dist/agents/adapters/claude-code.js +0 -134
  74. package/dist/agents/adapters/claude-code.js.map +0 -1
  75. package/dist/agents/adapters/codemie-code.d.ts +0 -21
  76. package/dist/agents/adapters/codemie-code.d.ts.map +0 -1
  77. package/dist/agents/adapters/codemie-code.js +0 -110
  78. package/dist/agents/adapters/codemie-code.js.map +0 -1
  79. package/dist/agents/adapters/codex.d.ts +0 -17
  80. package/dist/agents/adapters/codex.d.ts.map +0 -1
  81. package/dist/agents/adapters/codex.js +0 -145
  82. package/dist/agents/adapters/codex.js.map +0 -1
  83. package/dist/cli/commands/run.d.ts +0 -3
  84. package/dist/cli/commands/run.d.ts.map +0 -1
  85. package/dist/cli/commands/run.js +0 -333
  86. package/dist/cli/commands/run.js.map +0 -1
  87. package/dist/utils/agent-compatibility.d.ts +0 -32
  88. package/dist/utils/agent-compatibility.d.ts.map +0 -1
  89. package/dist/utils/agent-compatibility.js +0 -140
  90. 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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"}