@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.
Files changed (257) hide show
  1. package/README.md +375 -325
  2. package/bin/codemie-claude.js +23 -0
  3. package/bin/codemie-code.js +49 -11
  4. package/bin/codemie-codex.js +12 -13
  5. package/dist/agents/adapters/claude-code.d.ts +5 -0
  6. package/dist/agents/adapters/claude-code.d.ts.map +1 -1
  7. package/dist/agents/adapters/claude-code.js +76 -18
  8. package/dist/agents/adapters/claude-code.js.map +1 -1
  9. package/dist/agents/adapters/codex.d.ts +5 -0
  10. package/dist/agents/adapters/codex.d.ts.map +1 -1
  11. package/dist/agents/adapters/codex.js +75 -17
  12. package/dist/agents/adapters/codex.js.map +1 -1
  13. package/dist/agents/codemie-code/agent.d.ts.map +1 -1
  14. package/dist/agents/codemie-code/agent.js +187 -21
  15. package/dist/agents/codemie-code/agent.js.map +1 -1
  16. package/dist/agents/codemie-code/config.d.ts.map +1 -1
  17. package/dist/agents/codemie-code/config.js +29 -27
  18. package/dist/agents/codemie-code/config.js.map +1 -1
  19. package/dist/agents/codemie-code/index.d.ts +16 -2
  20. package/dist/agents/codemie-code/index.d.ts.map +1 -1
  21. package/dist/agents/codemie-code/index.js +74 -6
  22. package/dist/agents/codemie-code/index.js.map +1 -1
  23. package/dist/agents/codemie-code/modes/contextAwarePlanning.d.ts +87 -0
  24. package/dist/agents/codemie-code/modes/contextAwarePlanning.d.ts.map +1 -0
  25. package/dist/agents/codemie-code/modes/contextAwarePlanning.js +957 -0
  26. package/dist/agents/codemie-code/modes/contextAwarePlanning.js.map +1 -0
  27. package/dist/agents/codemie-code/modes/planMode.d.ts +116 -0
  28. package/dist/agents/codemie-code/modes/planMode.d.ts.map +1 -0
  29. package/dist/agents/codemie-code/modes/planMode.js +537 -0
  30. package/dist/agents/codemie-code/modes/planMode.js.map +1 -0
  31. package/dist/agents/codemie-code/prompts.d.ts +29 -0
  32. package/dist/agents/codemie-code/prompts.d.ts.map +1 -1
  33. package/dist/agents/codemie-code/prompts.js +129 -0
  34. package/dist/agents/codemie-code/prompts.js.map +1 -1
  35. package/dist/agents/codemie-code/storage/todoStorage.d.ts +78 -0
  36. package/dist/agents/codemie-code/storage/todoStorage.d.ts.map +1 -0
  37. package/dist/agents/codemie-code/storage/todoStorage.js +225 -0
  38. package/dist/agents/codemie-code/storage/todoStorage.js.map +1 -0
  39. package/dist/agents/codemie-code/tokenUtils.js +1 -1
  40. package/dist/agents/codemie-code/tokenUtils.js.map +1 -1
  41. package/dist/agents/codemie-code/tools/index.d.ts +26 -0
  42. package/dist/agents/codemie-code/tools/index.d.ts.map +1 -1
  43. package/dist/agents/codemie-code/tools/index.js +182 -14
  44. package/dist/agents/codemie-code/tools/index.js.map +1 -1
  45. package/dist/agents/codemie-code/tools/planning.d.ts +53 -0
  46. package/dist/agents/codemie-code/tools/planning.d.ts.map +1 -0
  47. package/dist/agents/codemie-code/tools/planning.js +224 -0
  48. package/dist/agents/codemie-code/tools/planning.js.map +1 -0
  49. package/dist/agents/codemie-code/types.d.ts +170 -6
  50. package/dist/agents/codemie-code/types.d.ts.map +1 -1
  51. package/dist/agents/codemie-code/types.js.map +1 -1
  52. package/dist/agents/codemie-code/ui/progressTracker.d.ts +125 -0
  53. package/dist/agents/codemie-code/ui/progressTracker.d.ts.map +1 -0
  54. package/dist/agents/codemie-code/ui/progressTracker.js +343 -0
  55. package/dist/agents/codemie-code/ui/progressTracker.js.map +1 -0
  56. package/dist/agents/codemie-code/ui/todoPanel.d.ts +112 -0
  57. package/dist/agents/codemie-code/ui/todoPanel.d.ts.map +1 -0
  58. package/dist/agents/codemie-code/ui/todoPanel.js +318 -0
  59. package/dist/agents/codemie-code/ui/todoPanel.js.map +1 -0
  60. package/dist/agents/codemie-code/ui.d.ts +106 -10
  61. package/dist/agents/codemie-code/ui.d.ts.map +1 -1
  62. package/dist/agents/codemie-code/ui.js +913 -129
  63. package/dist/agents/codemie-code/ui.js.map +1 -1
  64. package/dist/agents/codemie-code/utils/progressionEnforcer.d.ts +87 -0
  65. package/dist/agents/codemie-code/utils/progressionEnforcer.d.ts.map +1 -0
  66. package/dist/agents/codemie-code/utils/progressionEnforcer.js +293 -0
  67. package/dist/agents/codemie-code/utils/progressionEnforcer.js.map +1 -0
  68. package/dist/agents/codemie-code/utils/todoParser.d.ts +41 -0
  69. package/dist/agents/codemie-code/utils/todoParser.d.ts.map +1 -0
  70. package/dist/agents/codemie-code/utils/todoParser.js +305 -0
  71. package/dist/agents/codemie-code/utils/todoParser.js.map +1 -0
  72. package/dist/agents/codemie-code/utils/todoValidator.d.ts +65 -0
  73. package/dist/agents/codemie-code/utils/todoValidator.d.ts.map +1 -0
  74. package/dist/agents/codemie-code/utils/todoValidator.js +249 -0
  75. package/dist/agents/codemie-code/utils/todoValidator.js.map +1 -0
  76. package/dist/agents/codemie-code/validators/planValidator.d.ts +94 -0
  77. package/dist/agents/codemie-code/validators/planValidator.d.ts.map +1 -0
  78. package/dist/agents/codemie-code/validators/planValidator.js +281 -0
  79. package/dist/agents/codemie-code/validators/planValidator.js.map +1 -0
  80. package/dist/agents/registry.d.ts.map +1 -1
  81. package/dist/agents/registry.js +7 -5
  82. package/dist/agents/registry.js.map +1 -1
  83. package/dist/cli/commands/auth.d.ts +3 -0
  84. package/dist/cli/commands/auth.d.ts.map +1 -0
  85. package/dist/cli/commands/auth.js +170 -0
  86. package/dist/cli/commands/auth.js.map +1 -0
  87. package/dist/cli/commands/config.d.ts.map +1 -1
  88. package/dist/cli/commands/config.js +40 -13
  89. package/dist/cli/commands/config.js.map +1 -1
  90. package/dist/cli/commands/doctor.d.ts.map +1 -1
  91. package/dist/cli/commands/doctor.js +209 -16
  92. package/dist/cli/commands/doctor.js.map +1 -1
  93. package/dist/cli/commands/env.js +3 -3
  94. package/dist/cli/commands/env.js.map +1 -1
  95. package/dist/cli/commands/install.d.ts.map +1 -1
  96. package/dist/cli/commands/install.js +2 -1
  97. package/dist/cli/commands/install.js.map +1 -1
  98. package/dist/cli/commands/run.d.ts.map +1 -1
  99. package/dist/cli/commands/run.js +15 -9
  100. package/dist/cli/commands/run.js.map +1 -1
  101. package/dist/cli/commands/setup.d.ts.map +1 -1
  102. package/dist/cli/commands/setup.js +177 -11
  103. package/dist/cli/commands/setup.js.map +1 -1
  104. package/dist/cli/commands/tools.d.ts +6 -0
  105. package/dist/cli/commands/tools.d.ts.map +1 -0
  106. package/dist/cli/commands/tools.js +244 -0
  107. package/dist/cli/commands/tools.js.map +1 -0
  108. package/dist/cli/commands/version.js +1 -1
  109. package/dist/cli/commands/version.js.map +1 -1
  110. package/dist/cli/commands/workflow.d.ts +6 -0
  111. package/dist/cli/commands/workflow.d.ts.map +1 -0
  112. package/dist/cli/commands/workflow.js +424 -0
  113. package/dist/cli/commands/workflow.js.map +1 -0
  114. package/dist/cli/index.js +39 -5
  115. package/dist/cli/index.js.map +1 -1
  116. package/dist/clients/adapters/github.d.ts +17 -0
  117. package/dist/clients/adapters/github.d.ts.map +1 -0
  118. package/dist/clients/adapters/github.js +150 -0
  119. package/dist/clients/adapters/github.js.map +1 -0
  120. package/dist/clients/adapters/gitlab.d.ts +17 -0
  121. package/dist/clients/adapters/gitlab.d.ts.map +1 -0
  122. package/dist/clients/adapters/gitlab.js +147 -0
  123. package/dist/clients/adapters/gitlab.js.map +1 -0
  124. package/dist/clients/registry.d.ts +20 -0
  125. package/dist/clients/registry.d.ts.map +1 -0
  126. package/dist/clients/registry.js +27 -0
  127. package/dist/clients/registry.js.map +1 -0
  128. package/dist/tools/detector.d.ts +33 -0
  129. package/dist/tools/detector.d.ts.map +1 -0
  130. package/dist/tools/detector.js +145 -0
  131. package/dist/tools/detector.js.map +1 -0
  132. package/dist/tools/index.d.ts +8 -0
  133. package/dist/tools/index.d.ts.map +1 -0
  134. package/dist/tools/index.js +8 -0
  135. package/dist/tools/index.js.map +1 -0
  136. package/dist/tools/manager.d.ts +21 -0
  137. package/dist/tools/manager.d.ts.map +1 -0
  138. package/dist/tools/manager.js +104 -0
  139. package/dist/tools/manager.js.map +1 -0
  140. package/dist/tools/registry.d.ts +8 -0
  141. package/dist/tools/registry.d.ts.map +1 -0
  142. package/dist/tools/registry.js +36 -0
  143. package/dist/tools/registry.js.map +1 -0
  144. package/dist/tools/types.d.ts +41 -0
  145. package/dist/tools/types.d.ts.map +1 -0
  146. package/dist/tools/types.js +5 -0
  147. package/dist/tools/types.js.map +1 -0
  148. package/dist/types/sso.d.ts +42 -0
  149. package/dist/types/sso.d.ts.map +1 -0
  150. package/dist/types/sso.js +2 -0
  151. package/dist/types/sso.js.map +1 -0
  152. package/dist/utils/agent-compatibility.d.ts +32 -0
  153. package/dist/utils/agent-compatibility.d.ts.map +1 -0
  154. package/dist/utils/agent-compatibility.js +140 -0
  155. package/dist/utils/agent-compatibility.js.map +1 -0
  156. package/dist/utils/codemie-integration-validator.d.ts +17 -0
  157. package/dist/utils/codemie-integration-validator.d.ts.map +1 -0
  158. package/dist/utils/codemie-integration-validator.js +105 -0
  159. package/dist/utils/codemie-integration-validator.js.map +1 -0
  160. package/dist/utils/codemie-model-fetcher.d.ts +11 -0
  161. package/dist/utils/codemie-model-fetcher.d.ts.map +1 -0
  162. package/dist/utils/codemie-model-fetcher.js +242 -0
  163. package/dist/utils/codemie-model-fetcher.js.map +1 -0
  164. package/dist/utils/config-loader.d.ts +23 -1
  165. package/dist/utils/config-loader.d.ts.map +1 -1
  166. package/dist/utils/config-loader.js +73 -27
  167. package/dist/utils/config-loader.js.map +1 -1
  168. package/dist/utils/credential-store.d.ts +16 -0
  169. package/dist/utils/credential-store.d.ts.map +1 -0
  170. package/dist/utils/credential-store.js +109 -0
  171. package/dist/utils/credential-store.js.map +1 -0
  172. package/dist/utils/first-time.d.ts +1 -1
  173. package/dist/utils/first-time.d.ts.map +1 -1
  174. package/dist/utils/first-time.js +52 -71
  175. package/dist/utils/first-time.js.map +1 -1
  176. package/dist/utils/health-checker.d.ts.map +1 -1
  177. package/dist/utils/health-checker.js +5 -1
  178. package/dist/utils/health-checker.js.map +1 -1
  179. package/dist/utils/model-fetcher.d.ts.map +1 -1
  180. package/dist/utils/model-fetcher.js +15 -2
  181. package/dist/utils/model-fetcher.js.map +1 -1
  182. package/dist/utils/sso-auth.d.ts +15 -0
  183. package/dist/utils/sso-auth.d.ts.map +1 -0
  184. package/dist/utils/sso-auth.js +207 -0
  185. package/dist/utils/sso-auth.js.map +1 -0
  186. package/dist/utils/sso-gateway.d.ts +47 -0
  187. package/dist/utils/sso-gateway.d.ts.map +1 -0
  188. package/dist/utils/sso-gateway.js +298 -0
  189. package/dist/utils/sso-gateway.js.map +1 -0
  190. package/dist/workflows/detector.d.ts +37 -0
  191. package/dist/workflows/detector.d.ts.map +1 -0
  192. package/dist/workflows/detector.js +160 -0
  193. package/dist/workflows/detector.js.map +1 -0
  194. package/dist/workflows/index.d.ts +8 -0
  195. package/dist/workflows/index.d.ts.map +1 -0
  196. package/dist/workflows/index.js +8 -0
  197. package/dist/workflows/index.js.map +1 -0
  198. package/dist/workflows/installer.d.ts +24 -0
  199. package/dist/workflows/installer.d.ts.map +1 -0
  200. package/dist/workflows/installer.js +105 -0
  201. package/dist/workflows/installer.js.map +1 -0
  202. package/dist/workflows/registry.d.ts +29 -0
  203. package/dist/workflows/registry.d.ts.map +1 -0
  204. package/dist/workflows/registry.js +54 -0
  205. package/dist/workflows/registry.js.map +1 -0
  206. package/dist/workflows/templates/github/metadata.d.ts +6 -0
  207. package/dist/workflows/templates/github/metadata.d.ts.map +1 -0
  208. package/dist/workflows/templates/github/metadata.js +111 -0
  209. package/dist/workflows/templates/github/metadata.js.map +1 -0
  210. package/dist/workflows/templates/gitlab/metadata.d.ts +6 -0
  211. package/dist/workflows/templates/gitlab/metadata.d.ts.map +1 -0
  212. package/dist/workflows/templates/gitlab/metadata.js +14 -0
  213. package/dist/workflows/templates/gitlab/metadata.js.map +1 -0
  214. package/dist/workflows/types.d.ts +71 -0
  215. package/dist/workflows/types.d.ts.map +1 -0
  216. package/dist/workflows/types.js +5 -0
  217. package/dist/workflows/types.js.map +1 -0
  218. package/package.json +19 -6
  219. package/src/workflows/templates/github/code-ci.yml +529 -0
  220. package/src/workflows/templates/github/inline-fix.yml +665 -0
  221. package/src/workflows/templates/github/pr-review.yml +677 -0
  222. package/.claude/agents/README.md +0 -298
  223. package/.claude/agents/release-manager.md +0 -857
  224. package/.codemie/guides/git-workflow.md +0 -493
  225. package/CLAUDE.md +0 -225
  226. package/config.example.json +0 -10
  227. package/dist/agents/codemie-code/streaming/events.d.ts +0 -7
  228. package/dist/agents/codemie-code/streaming/events.d.ts.map +0 -1
  229. package/dist/agents/codemie-code/streaming/events.js +0 -7
  230. package/dist/agents/codemie-code/streaming/events.js.map +0 -1
  231. package/dist/agents/codemie-code/streaming/formatter.d.ts +0 -2
  232. package/dist/agents/codemie-code/streaming/formatter.d.ts.map +0 -1
  233. package/dist/agents/codemie-code/streaming/formatter.js +0 -2
  234. package/dist/agents/codemie-code/streaming/formatter.js.map +0 -1
  235. package/dist/agents/codemie-code/streaming/ui.d.ts +0 -2
  236. package/dist/agents/codemie-code/streaming/ui.d.ts.map +0 -1
  237. package/dist/agents/codemie-code/streaming/ui.js +0 -2
  238. package/dist/agents/codemie-code/streaming/ui.js.map +0 -1
  239. package/dist/agents/codemie-code/tools/command.d.ts +0 -2
  240. package/dist/agents/codemie-code/tools/command.d.ts.map +0 -1
  241. package/dist/agents/codemie-code/tools/command.js +0 -2
  242. package/dist/agents/codemie-code/tools/command.js.map +0 -1
  243. package/dist/agents/codemie-code/tools/filesystem.d.ts +0 -2
  244. package/dist/agents/codemie-code/tools/filesystem.d.ts.map +0 -1
  245. package/dist/agents/codemie-code/tools/filesystem.js +0 -2
  246. package/dist/agents/codemie-code/tools/filesystem.js.map +0 -1
  247. package/dist/agents/codemie-code/tools/git.d.ts +0 -2
  248. package/dist/agents/codemie-code/tools/git.d.ts.map +0 -1
  249. package/dist/agents/codemie-code/tools/git.js +0 -2
  250. package/dist/agents/codemie-code/tools/git.js.map +0 -1
  251. package/dist/agents/codemie-code/tools/security.d.ts +0 -2
  252. package/dist/agents/codemie-code/tools/security.d.ts.map +0 -1
  253. package/dist/agents/codemie-code/tools/security.js +0 -2
  254. package/dist/agents/codemie-code/tools/security.js.map +0 -1
  255. package/eslint.config.mjs +0 -43
  256. package/scripts/README.md +0 -80
  257. package/scripts/release.sh +0 -156
@@ -0,0 +1,242 @@
1
+ import { CredentialStore } from './credential-store.js';
2
+ import https from 'https';
3
+ import { URL } from 'url';
4
+ // Common endpoint paths
5
+ export const CODEMIE_ENDPOINTS = {
6
+ MODELS: '/v1/llm_models',
7
+ USER_SETTINGS: '/v1/settings/user'
8
+ };
9
+ export async function fetchCodeMieModels(apiUrl, cookies) {
10
+ const cookieString = Object.entries(cookies)
11
+ .map(([key, value]) => `${key}=${value}`)
12
+ .join(';');
13
+ try {
14
+ // Use custom HTTPS request to properly handle certificate issues in enterprise environments
15
+ const parsedUrl = new URL(`${apiUrl}${CODEMIE_ENDPOINTS.MODELS}`);
16
+ const requestOptions = {
17
+ hostname: parsedUrl.hostname,
18
+ port: parsedUrl.port || (parsedUrl.protocol === 'https:' ? 443 : 80),
19
+ path: parsedUrl.pathname + parsedUrl.search,
20
+ method: 'GET',
21
+ headers: {
22
+ 'cookie': cookieString,
23
+ 'Content-Type': 'application/json',
24
+ 'User-Agent': 'CodeMie-CLI/1.0.0',
25
+ 'X-CodeMie-Client': 'codemie-cli'
26
+ },
27
+ // Handle certificate issues commonly found in enterprise environments
28
+ rejectUnauthorized: false, // Allow self-signed certificates
29
+ timeout: 10000
30
+ };
31
+ const response = await new Promise((resolve, reject) => {
32
+ const req = https.request(requestOptions, (res) => {
33
+ let data = '';
34
+ res.on('data', (chunk) => {
35
+ data += chunk;
36
+ });
37
+ res.on('end', () => {
38
+ resolve({
39
+ statusCode: res.statusCode,
40
+ statusMessage: res.statusMessage,
41
+ data
42
+ });
43
+ });
44
+ });
45
+ req.on('error', (error) => {
46
+ reject(error);
47
+ });
48
+ req.on('timeout', () => {
49
+ req.destroy();
50
+ reject(new Error('Request timeout'));
51
+ });
52
+ req.end();
53
+ });
54
+ if (!response.statusCode || response.statusCode < 200 || response.statusCode >= 300) {
55
+ if (response.statusCode === 401 || response.statusCode === 403) {
56
+ throw new Error('SSO session expired - please run setup again');
57
+ }
58
+ throw new Error(`Failed to fetch models: ${response.statusCode} ${response.statusMessage}`);
59
+ }
60
+ // Parse the response
61
+ const models = JSON.parse(response.data);
62
+ if (!Array.isArray(models)) {
63
+ return [];
64
+ }
65
+ // Filter and map models based on the actual API response structure
66
+ const filteredModels = models
67
+ .filter(model => {
68
+ if (!model)
69
+ return false;
70
+ // Check for different possible model ID fields
71
+ const hasId = model.id && model.id.trim() !== '';
72
+ const hasBaseName = model.base_name && model.base_name.trim() !== '';
73
+ const hasDeploymentName = model.deployment_name && model.deployment_name.trim() !== '';
74
+ return hasId || hasBaseName || hasDeploymentName;
75
+ })
76
+ .map(model => {
77
+ // Use the most appropriate identifier field
78
+ return model.id || model.base_name || model.deployment_name || model.label || 'unknown';
79
+ })
80
+ .filter(id => id !== 'unknown')
81
+ .sort();
82
+ return filteredModels;
83
+ }
84
+ catch (error) {
85
+ console.error('Error fetching CodeMie models:', error);
86
+ throw error;
87
+ }
88
+ }
89
+ export async function fetchCodeMieModelsFromConfig() {
90
+ const store = CredentialStore.getInstance();
91
+ const credentials = await store.retrieveSSOCredentials();
92
+ if (!credentials) {
93
+ throw new Error('No SSO credentials found - please run setup');
94
+ }
95
+ return fetchCodeMieModels(credentials.apiUrl, credentials.cookies);
96
+ }
97
+ export async function fetchCodeMieIntegrations(apiUrl, cookies, endpointPath = CODEMIE_ENDPOINTS.USER_SETTINGS) {
98
+ const cookieString = Object.entries(cookies)
99
+ .map(([key, value]) => `${key}=${value}`)
100
+ .join(';');
101
+ const allIntegrations = [];
102
+ let currentPage = 0;
103
+ const perPage = 50;
104
+ let hasMorePages = true;
105
+ while (hasMorePages) {
106
+ try {
107
+ // Build URL with query parameters to filter by LiteLLM type
108
+ const filters = JSON.stringify({ type: ['LiteLLM'] });
109
+ const queryParams = new URLSearchParams({
110
+ page: currentPage.toString(),
111
+ per_page: perPage.toString(),
112
+ filters: filters
113
+ });
114
+ const fullUrl = `${apiUrl}${endpointPath}?${queryParams.toString()}`;
115
+ const pageIntegrations = await fetchIntegrationsPage(fullUrl, cookieString);
116
+ if (pageIntegrations.length === 0) {
117
+ hasMorePages = false;
118
+ }
119
+ else {
120
+ allIntegrations.push(...pageIntegrations);
121
+ // If we got fewer items than requested, we've reached the last page
122
+ if (pageIntegrations.length < perPage) {
123
+ hasMorePages = false;
124
+ }
125
+ else {
126
+ currentPage++;
127
+ }
128
+ }
129
+ }
130
+ catch {
131
+ hasMorePages = false;
132
+ }
133
+ }
134
+ return allIntegrations;
135
+ }
136
+ async function fetchIntegrationsPage(fullUrl, cookieString) {
137
+ const parsedUrl = new URL(fullUrl);
138
+ const requestOptions = {
139
+ hostname: parsedUrl.hostname,
140
+ port: parsedUrl.port || (parsedUrl.protocol === 'https:' ? 443 : 80),
141
+ path: parsedUrl.pathname + parsedUrl.search,
142
+ method: 'GET',
143
+ headers: {
144
+ 'cookie': cookieString,
145
+ 'Content-Type': 'application/json',
146
+ 'User-Agent': 'CodeMie-CLI/1.0.0',
147
+ 'X-CodeMie-Client': 'codemie-cli'
148
+ },
149
+ // Handle certificate issues commonly found in enterprise environments
150
+ rejectUnauthorized: false, // Allow self-signed certificates
151
+ timeout: 10000
152
+ };
153
+ const response = await new Promise((resolve, reject) => {
154
+ const req = https.request(requestOptions, (res) => {
155
+ let data = '';
156
+ res.on('data', (chunk) => {
157
+ data += chunk;
158
+ });
159
+ res.on('end', () => {
160
+ resolve({
161
+ statusCode: res.statusCode,
162
+ statusMessage: res.statusMessage,
163
+ data
164
+ });
165
+ });
166
+ });
167
+ req.on('error', (error) => {
168
+ reject(error);
169
+ });
170
+ req.on('timeout', () => {
171
+ req.destroy();
172
+ reject(new Error('Request timeout'));
173
+ });
174
+ req.end();
175
+ });
176
+ if (!response.statusCode || response.statusCode < 200 || response.statusCode >= 300) {
177
+ if (response.statusCode === 401 || response.statusCode === 403) {
178
+ throw new Error('SSO session expired - please run setup again');
179
+ }
180
+ if (response.statusCode === 404) {
181
+ throw new Error(`Integrations endpoint not found. Response: ${response.data}`);
182
+ }
183
+ throw new Error(`Failed to fetch integrations: ${response.statusCode} ${response.statusMessage}`);
184
+ }
185
+ // Parse the response - handle flexible response structure
186
+ const responseData = JSON.parse(response.data);
187
+ // Extract integrations from response - try all possible locations
188
+ let integrations = [];
189
+ // Try different possible property names and structures
190
+ const possibleArrays = [
191
+ responseData, // Direct array
192
+ responseData.integrations,
193
+ responseData.credentials,
194
+ responseData.data,
195
+ responseData.items,
196
+ responseData.results,
197
+ responseData.user_integrations,
198
+ responseData.personal_integrations,
199
+ responseData.available_integrations
200
+ ].filter(arr => Array.isArray(arr));
201
+ if (possibleArrays.length > 0) {
202
+ integrations = possibleArrays[0];
203
+ }
204
+ else {
205
+ // Try to find nested objects that might contain arrays
206
+ for (const value of Object.values(responseData)) {
207
+ if (typeof value === 'object' && value !== null) {
208
+ const nestedArrays = Object.values(value).filter(Array.isArray);
209
+ if (nestedArrays.length > 0) {
210
+ integrations = nestedArrays[0];
211
+ break;
212
+ }
213
+ }
214
+ }
215
+ }
216
+ // Filter and validate integrations (already filtered by API, but double-check)
217
+ const validIntegrations = integrations
218
+ .filter(integration => {
219
+ return integration &&
220
+ integration.alias &&
221
+ integration.credential_type &&
222
+ integration.alias.trim() !== '' &&
223
+ integration.credential_type.trim() !== '';
224
+ })
225
+ .sort((a, b) => a.alias.localeCompare(b.alias));
226
+ return validIntegrations;
227
+ }
228
+ export async function fetchCodeMieIntegrationsFromConfig() {
229
+ const store = CredentialStore.getInstance();
230
+ const credentials = await store.retrieveSSOCredentials();
231
+ if (!credentials) {
232
+ throw new Error('No SSO credentials found - please run setup');
233
+ }
234
+ return fetchCodeMieIntegrations(credentials.apiUrl, credentials.cookies);
235
+ }
236
+ export async function validateCodeMieConnectivity() {
237
+ // Following the codemie-ide-plugin pattern, we don't perform connectivity validation
238
+ // Instead, we trust that the SSO flow will handle any connectivity issues
239
+ // This function is kept for compatibility but essentially becomes a no-op
240
+ return Promise.resolve();
241
+ }
242
+ //# sourceMappingURL=codemie-model-fetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codemie-model-fetcher.js","sourceRoot":"","sources":["../../src/utils/codemie-model-fetcher.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,10 @@
1
+ /**
2
+ * Minimal CodeMie integration info for config storage
3
+ */
4
+ export interface CodeMieIntegrationInfo {
5
+ id: string;
6
+ alias: string;
7
+ }
1
8
  /**
2
9
  * Configuration options for CodeMie Code
3
10
  */
@@ -10,6 +17,13 @@ export interface CodeMieConfigOptions {
10
17
  debug?: boolean;
11
18
  allowedDirs?: string[];
12
19
  ignorePatterns?: string[];
20
+ authMethod?: 'manual' | 'sso';
21
+ codeMieUrl?: string;
22
+ codeMieIntegration?: CodeMieIntegrationInfo;
23
+ ssoConfig?: {
24
+ apiUrl?: string;
25
+ cookiesEncrypted?: string;
26
+ };
13
27
  }
14
28
  /**
15
29
  * Configuration with source tracking
@@ -52,7 +66,15 @@ export declare class ConfigLoader {
52
66
  */
53
67
  static saveProjectConfig(workingDir: string, config: Partial<CodeMieConfigOptions>): Promise<void>;
54
68
  /**
55
- * Check if global config exists
69
+ * Delete global config file
70
+ */
71
+ static deleteGlobalConfig(): Promise<void>;
72
+ /**
73
+ * Delete project config file
74
+ */
75
+ static deleteProjectConfig(workingDir: string): Promise<void>;
76
+ /**
77
+ * Check if global config exists and is not empty
56
78
  */
57
79
  static hasGlobalConfig(): Promise<boolean>;
58
80
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,CAAC;CAC1D;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAuC;IACvE,OAAO,CAAC,MAAM,CAAC,aAAa,CAA4D;IACxF,OAAO,CAAC,MAAM,CAAC,YAAY,CAA0B;IAErD;;;OAGG;WACU,IAAI,CACf,UAAU,GAAE,MAAsB,EAClC,YAAY,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAC3C,OAAO,CAAC,oBAAoB,CAAC;IAuChC;;OAEG;WACU,eAAe,CAC1B,UAAU,GAAE,MAAsB,EAClC,YAAY,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAC3C,OAAO,CAAC,oBAAoB,CAAC;IAMhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAuC1B;;OAEG;mBACkB,cAAc;IASnC;;OAEG;WACU,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IASnF;;OAEG;WACU,iBAAiB,CAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;IAUhB;;OAEG;WACU,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAShD;;OAEG;WACU,gBAAgB,CAAC,UAAU,GAAE,MAAsB,GAAG,OAAO,CAAC,OAAO,CAAC;IAUnF;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAM9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ;IAkBvB;;OAEG;WACU,eAAe,CAC1B,UAAU,GAAE,MAAsB,GACjC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAwC5C;;OAEG;WACU,eAAe,CAAC,UAAU,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB/E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAqB5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAW7B;;OAEG;IACH,MAAM,CAAC,eAAe,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAIvD;;;OAGG;IACH,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAkEnF"}
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"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"}
@@ -18,8 +18,6 @@ export class ConfigLoader {
18
18
  static async load(workingDir = process.cwd(), cliOverrides) {
19
19
  // 5. Built-in defaults (lowest priority)
20
20
  const config = {
21
- provider: 'anthropic',
22
- model: 'claude-sonnet-4',
23
21
  timeout: 300,
24
22
  debug: false,
25
23
  allowedDirs: [],
@@ -86,10 +84,21 @@ export class ConfigLoader {
86
84
  if (process.env.CODEMIE_IGNORE_PATTERNS) {
87
85
  env.ignorePatterns = process.env.CODEMIE_IGNORE_PATTERNS.split(',').map(s => s.trim());
88
86
  }
87
+ // SSO-specific environment variables
88
+ if (process.env.CODEMIE_URL)
89
+ env.codeMieUrl = process.env.CODEMIE_URL;
90
+ if (process.env.CODEMIE_AUTH_METHOD)
91
+ env.authMethod = process.env.CODEMIE_AUTH_METHOD;
92
+ // Handle CodeMie integration from environment variables
93
+ if (process.env.CODEMIE_INTEGRATION_ID || process.env.CODEMIE_INTEGRATION_ALIAS) {
94
+ env.codeMieIntegration = {
95
+ id: process.env.CODEMIE_INTEGRATION_ID || '',
96
+ alias: process.env.CODEMIE_INTEGRATION_ALIAS || ''
97
+ };
98
+ }
89
99
  // Check for AWS Bedrock configuration
90
- if (process.env.CLAUDE_CODE_USE_BEDROCK === '1' && process.env.ANTHROPIC_MODEL) {
100
+ if (process.env.CLAUDE_CODE_USE_BEDROCK === '1') {
91
101
  env.provider = 'bedrock';
92
- env.model = process.env.ANTHROPIC_MODEL;
93
102
  env.baseUrl = 'bedrock';
94
103
  env.apiKey = 'bedrock'; // Placeholder for AWS credentials
95
104
  }
@@ -123,12 +132,43 @@ export class ConfigLoader {
123
132
  await fs.writeFile(path.join(configDir, 'config.json'), JSON.stringify(config, null, 2), 'utf-8');
124
133
  }
125
134
  /**
126
- * Check if global config exists
135
+ * Delete global config file
136
+ */
137
+ static async deleteGlobalConfig() {
138
+ try {
139
+ await fs.unlink(this.GLOBAL_CONFIG);
140
+ }
141
+ catch (error) {
142
+ // Ignore if file doesn't exist
143
+ if (error.code !== 'ENOENT') {
144
+ throw error;
145
+ }
146
+ }
147
+ }
148
+ /**
149
+ * Delete project config file
150
+ */
151
+ static async deleteProjectConfig(workingDir) {
152
+ try {
153
+ const localConfigPath = path.join(workingDir, this.LOCAL_CONFIG);
154
+ await fs.unlink(localConfigPath);
155
+ }
156
+ catch (error) {
157
+ // Ignore if file doesn't exist
158
+ if (error.code !== 'ENOENT') {
159
+ throw error;
160
+ }
161
+ }
162
+ }
163
+ /**
164
+ * Check if global config exists and is not empty
127
165
  */
128
166
  static async hasGlobalConfig() {
129
167
  try {
130
168
  await fs.access(this.GLOBAL_CONFIG);
131
- return true;
169
+ const config = await this.loadJsonConfig(this.GLOBAL_CONFIG);
170
+ // Check if config has any actual values (not just an empty object)
171
+ return Object.keys(config).length > 0;
132
172
  }
133
173
  catch {
134
174
  return false;
@@ -176,8 +216,6 @@ export class ConfigLoader {
176
216
  const configs = [
177
217
  {
178
218
  data: {
179
- provider: 'anthropic',
180
- model: 'claude-sonnet-4',
181
219
  timeout: 300,
182
220
  debug: false
183
221
  },
@@ -281,21 +319,8 @@ export class ConfigLoader {
281
319
  if (config.debug)
282
320
  env.CODEMIE_DEBUG = String(config.debug);
283
321
  // Set provider-specific vars based on provider
284
- const provider = (config.provider || 'anthropic').toUpperCase();
285
- if (provider === 'ANTHROPIC') {
286
- if (config.baseUrl)
287
- env.ANTHROPIC_BASE_URL = config.baseUrl;
288
- if (config.apiKey) {
289
- env.ANTHROPIC_API_KEY = config.apiKey;
290
- env.ANTHROPIC_AUTH_TOKEN = config.apiKey;
291
- }
292
- if (config.model) {
293
- env.ANTHROPIC_MODEL = config.model;
294
- // For Claude Code subagents
295
- env.CLAUDE_CODE_SUBAGENT_MODEL = config.model;
296
- }
297
- }
298
- else if (provider === 'OPENAI' || provider === 'CODEX') {
322
+ const provider = (config.provider || 'openai').toUpperCase();
323
+ if (provider === 'OPENAI' || provider === 'CODEX') {
299
324
  // OpenAI and Codex share the same configuration
300
325
  // Note: OpenAI Codex was deprecated in March 2023
301
326
  // Modern usage should use gpt-3.5-turbo or gpt-4 models instead
@@ -325,13 +350,28 @@ export class ConfigLoader {
325
350
  }
326
351
  else if (provider === 'BEDROCK') {
327
352
  // AWS Bedrock configuration
328
- if (config.model)
329
- env.ANTHROPIC_MODEL = config.model;
330
353
  env.CLAUDE_CODE_USE_BEDROCK = '1';
331
354
  // AWS credentials should be set via AWS CLI or environment variables
332
355
  }
333
- else if (provider === 'AI-RUN' || provider === 'LITELLM') {
334
- // Generic LiteLLM proxy or AI/Run gateway
356
+ else if (provider === 'LITELLM') {
357
+ // Generic LiteLLM proxy gateway
358
+ // LiteLLM can proxy for any model, so set both OpenAI and Anthropic env vars
359
+ if (config.baseUrl) {
360
+ env.OPENAI_BASE_URL = config.baseUrl;
361
+ env.ANTHROPIC_BASE_URL = config.baseUrl;
362
+ }
363
+ if (config.apiKey) {
364
+ env.OPENAI_API_KEY = config.apiKey;
365
+ env.ANTHROPIC_AUTH_TOKEN = config.apiKey;
366
+ }
367
+ if (config.model) {
368
+ env.OPENAI_MODEL = config.model;
369
+ env.ANTHROPIC_MODEL = config.model;
370
+ }
371
+ }
372
+ else if (provider === 'AI-RUN-SSO') {
373
+ // CodeMie SSO authentication - credentials handled via credential store
374
+ // Set both OpenAI and Anthropic env vars for compatibility
335
375
  if (config.baseUrl) {
336
376
  env.OPENAI_BASE_URL = config.baseUrl;
337
377
  env.ANTHROPIC_BASE_URL = config.baseUrl;
@@ -344,6 +384,12 @@ export class ConfigLoader {
344
384
  env.OPENAI_MODEL = config.model;
345
385
  env.ANTHROPIC_MODEL = config.model;
346
386
  }
387
+ if (config.codeMieUrl)
388
+ env.CODEMIE_URL = config.codeMieUrl;
389
+ if (config.authMethod)
390
+ env.CODEMIE_AUTH_METHOD = config.authMethod;
391
+ if (config.codeMieIntegration?.id)
392
+ env.CODEMIE_INTEGRATION_ID = config.codeMieIntegration.id;
347
393
  }
348
394
  return env;
349
395
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { SSOCredentials } from '../types/sso.js';
2
+ export declare class CredentialStore {
3
+ private static instance;
4
+ private encryptionKey;
5
+ private constructor();
6
+ static getInstance(): CredentialStore;
7
+ storeSSOCredentials(credentials: SSOCredentials): Promise<void>;
8
+ retrieveSSOCredentials(): Promise<SSOCredentials | null>;
9
+ clearSSOCredentials(): Promise<void>;
10
+ private encrypt;
11
+ private decrypt;
12
+ private getOrCreateEncryptionKey;
13
+ private storeToFile;
14
+ private retrieveFromFile;
15
+ }
16
+ //# sourceMappingURL=credential-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-store.d.ts","sourceRoot":"","sources":["../../src/utils/credential-store.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMjD,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IACzC,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO;IAIP,MAAM,CAAC,WAAW,IAAI,eAAe;IAO/B,mBAAmB,CAAC,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/D,sBAAsB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA0BxD,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAa1C,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,wBAAwB;YAMlB,WAAW;YAMX,gBAAgB;CAO/B"}
@@ -0,0 +1,109 @@
1
+ import * as keytar from 'keytar';
2
+ import * as crypto from 'crypto';
3
+ import * as fs from 'fs/promises';
4
+ import * as path from 'path';
5
+ import * as os from 'os';
6
+ const SERVICE_NAME = 'codemie-code';
7
+ const ACCOUNT_NAME = 'sso-credentials';
8
+ const FALLBACK_FILE = path.join(os.homedir(), '.codemie', 'sso-credentials.enc');
9
+ export class CredentialStore {
10
+ static instance;
11
+ encryptionKey;
12
+ constructor() {
13
+ this.encryptionKey = this.getOrCreateEncryptionKey();
14
+ }
15
+ static getInstance() {
16
+ if (!CredentialStore.instance) {
17
+ CredentialStore.instance = new CredentialStore();
18
+ }
19
+ return CredentialStore.instance;
20
+ }
21
+ async storeSSOCredentials(credentials) {
22
+ const encrypted = this.encrypt(JSON.stringify(credentials));
23
+ try {
24
+ // Try secure keychain storage first
25
+ await keytar.setPassword(SERVICE_NAME, ACCOUNT_NAME, encrypted);
26
+ }
27
+ catch {
28
+ console.warn('Keychain not available, using encrypted file storage');
29
+ await this.storeToFile(encrypted);
30
+ }
31
+ }
32
+ async retrieveSSOCredentials() {
33
+ try {
34
+ // Try keychain first
35
+ const encrypted = await keytar.getPassword(SERVICE_NAME, ACCOUNT_NAME);
36
+ if (encrypted) {
37
+ const decrypted = this.decrypt(encrypted);
38
+ return JSON.parse(decrypted);
39
+ }
40
+ }
41
+ catch {
42
+ // Fall back to file storage
43
+ }
44
+ // Always try file storage as fallback
45
+ try {
46
+ const encrypted = await this.retrieveFromFile();
47
+ if (encrypted) {
48
+ const decrypted = this.decrypt(encrypted);
49
+ return JSON.parse(decrypted);
50
+ }
51
+ }
52
+ catch {
53
+ // Unable to decrypt file storage
54
+ }
55
+ return null;
56
+ }
57
+ async clearSSOCredentials() {
58
+ try {
59
+ await keytar.deletePassword(SERVICE_NAME, ACCOUNT_NAME);
60
+ }
61
+ catch {
62
+ // Also clear file storage
63
+ try {
64
+ await fs.unlink(FALLBACK_FILE);
65
+ }
66
+ catch {
67
+ // Ignore file not found errors
68
+ }
69
+ }
70
+ }
71
+ encrypt(text) {
72
+ const iv = crypto.randomBytes(16);
73
+ // Use a proper 32-byte key by hashing the encryptionKey
74
+ const key = crypto.createHash('sha256').update(this.encryptionKey).digest();
75
+ const cipher = crypto.createCipheriv('aes-256-cbc', key, iv);
76
+ let encrypted = cipher.update(text, 'utf8', 'hex');
77
+ encrypted += cipher.final('hex');
78
+ return iv.toString('hex') + ':' + encrypted;
79
+ }
80
+ decrypt(text) {
81
+ const [ivHex, encryptedHex] = text.split(':');
82
+ const iv = Buffer.from(ivHex, 'hex');
83
+ // Use a proper 32-byte key by hashing the encryptionKey
84
+ const key = crypto.createHash('sha256').update(this.encryptionKey).digest();
85
+ const decipher = crypto.createDecipheriv('aes-256-cbc', key, iv);
86
+ let decrypted = decipher.update(encryptedHex, 'hex', 'utf8');
87
+ decrypted += decipher.final('utf8');
88
+ return decrypted;
89
+ }
90
+ getOrCreateEncryptionKey() {
91
+ // Use machine-specific key based on hardware info
92
+ const machineId = os.hostname() + os.platform() + os.arch();
93
+ return crypto.createHash('sha256').update(machineId).digest('hex');
94
+ }
95
+ async storeToFile(encrypted) {
96
+ const dir = path.dirname(FALLBACK_FILE);
97
+ await fs.mkdir(dir, { recursive: true });
98
+ await fs.writeFile(FALLBACK_FILE, encrypted, 'utf8');
99
+ }
100
+ async retrieveFromFile() {
101
+ try {
102
+ return await fs.readFile(FALLBACK_FILE, 'utf8');
103
+ }
104
+ catch {
105
+ return null;
106
+ }
107
+ }
108
+ }
109
+ //# sourceMappingURL=credential-store.js.map