@codemieai/code 0.0.13 → 0.0.15
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 +19 -17
- package/dist/agents/codemie-code/agent.d.ts.map +1 -1
- package/dist/agents/codemie-code/agent.js +4 -4
- 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 +2 -1
- package/dist/agents/codemie-code/config.js.map +1 -1
- package/dist/agents/codemie-code/filters.js +12 -12
- package/dist/agents/codemie-code/filters.js.map +1 -1
- package/dist/agents/codemie-code/index.d.ts.map +1 -1
- package/dist/agents/codemie-code/index.js +3 -1
- package/dist/agents/codemie-code/index.js.map +1 -1
- package/dist/agents/codemie-code/storage/todoStorage.js +1 -1
- package/dist/agents/codemie-code/storage/todoStorage.js.map +1 -1
- package/dist/agents/codemie-code/tools/planning.d.ts +1 -1
- package/dist/agents/codemie-code/ui.js +1 -1
- package/dist/agents/codemie-code/ui.js.map +1 -1
- package/dist/agents/core/AgentCLI.js +1 -1
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/core/types.d.ts +5 -0
- package/dist/agents/core/types.d.ts.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.js +1 -1
- package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
- package/dist/analytics/aggregation/adapters/claude.adapter.d.ts.map +1 -1
- package/dist/analytics/aggregation/adapters/claude.adapter.js +75 -15
- package/dist/analytics/aggregation/adapters/claude.adapter.js.map +1 -1
- package/dist/analytics/aggregation/adapters/codex.adapter.d.ts.map +1 -1
- package/dist/analytics/aggregation/adapters/codex.adapter.js +20 -0
- package/dist/analytics/aggregation/adapters/codex.adapter.js.map +1 -1
- package/dist/analytics/aggregation/adapters/gemini.adapter.d.ts +8 -0
- package/dist/analytics/aggregation/adapters/gemini.adapter.d.ts.map +1 -1
- package/dist/analytics/aggregation/adapters/gemini.adapter.js +46 -1
- package/dist/analytics/aggregation/adapters/gemini.adapter.js.map +1 -1
- package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.d.ts +36 -0
- package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.d.ts.map +1 -1
- package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.js +52 -0
- package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.js.map +1 -1
- package/dist/analytics/aggregation/core/adapter.interface.d.ts +11 -0
- package/dist/analytics/aggregation/core/adapter.interface.d.ts.map +1 -1
- package/dist/analytics/aggregation/core/aggregation-utils.d.ts +20 -0
- package/dist/analytics/aggregation/core/aggregation-utils.d.ts.map +1 -1
- package/dist/analytics/aggregation/core/aggregation-utils.js +43 -0
- package/dist/analytics/aggregation/core/aggregation-utils.js.map +1 -1
- package/dist/analytics/aggregation/core/file-utils.d.ts +2 -1
- package/dist/analytics/aggregation/core/file-utils.d.ts.map +1 -1
- package/dist/analytics/aggregation/core/file-utils.js +20 -85
- package/dist/analytics/aggregation/core/file-utils.js.map +1 -1
- package/dist/analytics/aggregation/core/index.d.ts +3 -0
- package/dist/analytics/aggregation/core/index.d.ts.map +1 -1
- package/dist/analytics/aggregation/core/index.js +3 -0
- package/dist/analytics/aggregation/core/index.js.map +1 -1
- package/dist/analytics/aggregation/core/user-prompt-source.d.ts +81 -0
- package/dist/analytics/aggregation/core/user-prompt-source.d.ts.map +1 -0
- package/dist/analytics/aggregation/core/user-prompt-source.js +69 -0
- package/dist/analytics/aggregation/core/user-prompt-source.js.map +1 -0
- package/dist/analytics/aggregation/core/user-prompt-sources/json.d.ts +49 -0
- package/dist/analytics/aggregation/core/user-prompt-sources/json.d.ts.map +1 -0
- package/dist/analytics/aggregation/core/user-prompt-sources/json.js +66 -0
- package/dist/analytics/aggregation/core/user-prompt-sources/json.js.map +1 -0
- package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.d.ts +43 -0
- package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.d.ts.map +1 -0
- package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.js +56 -0
- package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.js.map +1 -0
- package/dist/analytics/aggregation/types.d.ts +20 -0
- package/dist/analytics/aggregation/types.d.ts.map +1 -1
- package/dist/analytics/remote-submission/cursor-manager.d.ts +71 -0
- package/dist/analytics/remote-submission/cursor-manager.d.ts.map +1 -0
- package/dist/analytics/remote-submission/cursor-manager.js +204 -0
- package/dist/analytics/remote-submission/cursor-manager.js.map +1 -0
- package/dist/analytics/remote-submission/index.d.ts +12 -0
- package/dist/analytics/remote-submission/index.d.ts.map +1 -0
- package/dist/analytics/remote-submission/index.js +11 -0
- package/dist/analytics/remote-submission/index.js.map +1 -0
- package/dist/analytics/remote-submission/lock-manager.d.ts +71 -0
- package/dist/analytics/remote-submission/lock-manager.d.ts.map +1 -0
- package/dist/analytics/remote-submission/lock-manager.js +238 -0
- package/dist/analytics/remote-submission/lock-manager.js.map +1 -0
- package/dist/analytics/remote-submission/metric-transformer.d.ts +49 -0
- package/dist/analytics/remote-submission/metric-transformer.d.ts.map +1 -0
- package/dist/analytics/remote-submission/metric-transformer.js +175 -0
- package/dist/analytics/remote-submission/metric-transformer.js.map +1 -0
- package/dist/analytics/remote-submission/submitter.d.ts +78 -0
- package/dist/analytics/remote-submission/submitter.d.ts.map +1 -0
- package/dist/analytics/remote-submission/submitter.js +381 -0
- package/dist/analytics/remote-submission/submitter.js.map +1 -0
- package/dist/analytics/remote-submission/types.d.ts +169 -0
- package/dist/analytics/remote-submission/types.d.ts.map +1 -0
- package/dist/analytics/remote-submission/types.js +13 -0
- package/dist/analytics/remote-submission/types.js.map +1 -0
- package/dist/cli/commands/analytics.d.ts.map +1 -1
- package/dist/cli/commands/analytics.js +181 -12
- package/dist/cli/commands/analytics.js.map +1 -1
- package/dist/cli/commands/doctor/index.d.ts.map +1 -1
- package/dist/cli/commands/doctor/index.js +13 -1
- package/dist/cli/commands/doctor/index.js.map +1 -1
- package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.d.ts.map +1 -1
- package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.js +81 -9
- package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.js.map +1 -1
- package/dist/cli/commands/profile.d.ts.map +1 -1
- package/dist/cli/commands/profile.js +25 -57
- package/dist/cli/commands/profile.js.map +1 -1
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +10 -0
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/workflow.js +1 -1
- package/dist/cli/commands/workflow.js.map +1 -1
- package/dist/cli/index.js +0 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/utils/analytics-reader.js +1 -1
- package/dist/utils/analytics-reader.js.map +1 -1
- package/dist/utils/codemie-model-fetcher.d.ts.map +1 -1
- package/dist/utils/codemie-model-fetcher.js +197 -122
- package/dist/utils/codemie-model-fetcher.js.map +1 -1
- package/dist/utils/codemie-proxy.d.ts +41 -21
- package/dist/utils/codemie-proxy.d.ts.map +1 -1
- package/dist/utils/codemie-proxy.js +151 -86
- package/dist/utils/codemie-proxy.js.map +1 -1
- package/dist/utils/config-loader.d.ts +4 -0
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +42 -2
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/first-time.d.ts +0 -4
- package/dist/utils/first-time.d.ts.map +1 -1
- package/dist/utils/first-time.js +5 -117
- package/dist/utils/first-time.js.map +1 -1
- package/dist/utils/logger.d.ts +31 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +112 -2
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/proxy/plugins/analytics.plugin.d.ts +19 -0
- package/dist/utils/proxy/plugins/analytics.plugin.d.ts.map +1 -0
- package/dist/utils/proxy/plugins/analytics.plugin.js +84 -0
- package/dist/utils/proxy/plugins/analytics.plugin.js.map +1 -0
- package/dist/utils/proxy/plugins/header-injection.plugin.d.ts +16 -0
- package/dist/utils/proxy/plugins/header-injection.plugin.d.ts.map +1 -0
- package/dist/utils/proxy/plugins/header-injection.plugin.js +48 -0
- package/dist/utils/proxy/plugins/header-injection.plugin.js.map +1 -0
- package/dist/utils/proxy/plugins/index.d.ts +18 -0
- package/dist/utils/proxy/plugins/index.d.ts.map +1 -0
- package/dist/utils/proxy/plugins/index.js +30 -0
- package/dist/utils/proxy/plugins/index.js.map +1 -0
- package/dist/utils/proxy/plugins/registry.d.ts +50 -0
- package/dist/utils/proxy/plugins/registry.d.ts.map +1 -0
- package/dist/utils/proxy/plugins/registry.js +124 -0
- package/dist/utils/proxy/plugins/registry.js.map +1 -0
- package/dist/utils/proxy/plugins/sso-auth.plugin.d.ts +16 -0
- package/dist/utils/proxy/plugins/sso-auth.plugin.d.ts.map +1 -0
- package/dist/utils/proxy/plugins/sso-auth.plugin.js +35 -0
- package/dist/utils/proxy/plugins/sso-auth.plugin.js.map +1 -0
- package/dist/utils/proxy/plugins/types.d.ts +79 -0
- package/dist/utils/proxy/plugins/types.d.ts.map +1 -0
- package/dist/utils/proxy/plugins/types.js +8 -0
- package/dist/utils/proxy/plugins/types.js.map +1 -0
- package/dist/utils/sanitize.d.ts +28 -0
- package/dist/utils/sanitize.d.ts.map +1 -0
- package/dist/utils/sanitize.js +213 -0
- package/dist/utils/sanitize.js.map +1 -0
- package/dist/workflows/installer.d.ts.map +1 -1
- package/dist/workflows/installer.js +3 -4
- package/dist/workflows/installer.js.map +1 -1
- package/package.json +1 -1
- package/dist/cli/commands/config.d.ts +0 -3
- package/dist/cli/commands/config.d.ts.map +0 -1
- package/dist/cli/commands/config.js +0 -198
- package/dist/cli/commands/config.js.map +0 -1
- package/dist/cli/commands/env.d.ts +0 -3
- package/dist/cli/commands/env.d.ts.map +0 -1
- package/dist/cli/commands/env.js +0 -19
- package/dist/cli/commands/env.js.map +0 -1
- package/dist/utils/proxy/interceptors.d.ts +0 -69
- package/dist/utils/proxy/interceptors.d.ts.map +0 -1
- package/dist/utils/proxy/interceptors.js +0 -308
- package/dist/utils/proxy/interceptors.js.map +0 -1
|
@@ -1,22 +1,147 @@
|
|
|
1
1
|
import { CredentialStore } from './credential-store.js';
|
|
2
2
|
import https from 'https';
|
|
3
|
+
import http from 'http';
|
|
3
4
|
import { URL } from 'url';
|
|
5
|
+
import { logger } from './logger.js';
|
|
6
|
+
import { sanitizeHeaders } from './sanitize.js';
|
|
4
7
|
// Common endpoint paths
|
|
5
8
|
export const CODEMIE_ENDPOINTS = {
|
|
6
9
|
MODELS: '/v1/llm_models',
|
|
7
10
|
USER_SETTINGS: '/v1/settings/user'
|
|
8
11
|
};
|
|
12
|
+
// Configuration
|
|
13
|
+
const MAX_REDIRECTS = 5;
|
|
14
|
+
const MAX_RETRIES = 3;
|
|
15
|
+
/**
|
|
16
|
+
* Make HTTPS/HTTP request with automatic redirect following
|
|
17
|
+
* Handles 301, 302, 303, 307, 308 redirects following HTTP standards
|
|
18
|
+
*/
|
|
19
|
+
async function makeRequestWithRedirects(url, requestOptions, redirectCount = 0) {
|
|
20
|
+
if (redirectCount >= MAX_REDIRECTS) {
|
|
21
|
+
throw new Error(`Too many redirects (${redirectCount}). Possible redirect loop.`);
|
|
22
|
+
}
|
|
23
|
+
const parsedUrl = new URL(url);
|
|
24
|
+
const protocol = parsedUrl.protocol === 'https:' ? https : http;
|
|
25
|
+
const options = {
|
|
26
|
+
...requestOptions,
|
|
27
|
+
hostname: parsedUrl.hostname,
|
|
28
|
+
port: parsedUrl.port || (parsedUrl.protocol === 'https:' ? 443 : 80),
|
|
29
|
+
path: parsedUrl.pathname + parsedUrl.search,
|
|
30
|
+
};
|
|
31
|
+
if (logger.isDebugMode()) {
|
|
32
|
+
logger.debug(`[HTTP Request] ${options.method} ${url}`);
|
|
33
|
+
logger.debug(`[Headers]`, sanitizeHeaders(requestOptions.headers));
|
|
34
|
+
if (redirectCount > 0) {
|
|
35
|
+
logger.debug(`[Redirect] Following redirect #${redirectCount}`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return new Promise((resolve, reject) => {
|
|
39
|
+
const req = protocol.request(options, (res) => {
|
|
40
|
+
let data = '';
|
|
41
|
+
res.on('data', (chunk) => {
|
|
42
|
+
data += chunk;
|
|
43
|
+
});
|
|
44
|
+
res.on('end', async () => {
|
|
45
|
+
const statusCode = res.statusCode || 0;
|
|
46
|
+
if (logger.isDebugMode()) {
|
|
47
|
+
logger.debug(`[HTTP Response] ${statusCode} ${res.statusMessage}`);
|
|
48
|
+
logger.debug(`[Response Headers]`, sanitizeHeaders(res.headers));
|
|
49
|
+
}
|
|
50
|
+
// Handle redirects (301, 302, 303, 307, 308)
|
|
51
|
+
if (statusCode >= 300 && statusCode < 400) {
|
|
52
|
+
const location = res.headers['location'];
|
|
53
|
+
if (!location) {
|
|
54
|
+
reject(new Error(`Redirect ${statusCode} without Location header`));
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
// Resolve relative URLs against current URL
|
|
58
|
+
const redirectUrl = new URL(location, url).toString();
|
|
59
|
+
logger.info(`[Redirect] ${statusCode} -> ${redirectUrl}`);
|
|
60
|
+
// Update cookies from Set-Cookie headers if present
|
|
61
|
+
const setCookieHeaders = res.headers['set-cookie'];
|
|
62
|
+
if (setCookieHeaders && requestOptions.headers) {
|
|
63
|
+
const existingCookies = requestOptions.headers['cookie'] || '';
|
|
64
|
+
const newCookies = setCookieHeaders
|
|
65
|
+
.map(cookie => cookie.split(';')[0]) // Extract cookie name=value
|
|
66
|
+
.join('; ');
|
|
67
|
+
requestOptions.headers['cookie'] = existingCookies
|
|
68
|
+
? `${existingCookies}; ${newCookies}`
|
|
69
|
+
: newCookies;
|
|
70
|
+
}
|
|
71
|
+
// For 303, change POST/PUT to GET
|
|
72
|
+
if (statusCode === 303 && options.method !== 'GET' && options.method !== 'HEAD') {
|
|
73
|
+
requestOptions.method = 'GET';
|
|
74
|
+
delete requestOptions.headers?.['content-length'];
|
|
75
|
+
delete requestOptions.headers?.['content-type'];
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
// Follow the redirect
|
|
79
|
+
const redirectResponse = await makeRequestWithRedirects(redirectUrl, requestOptions, redirectCount + 1);
|
|
80
|
+
resolve(redirectResponse);
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
reject(error);
|
|
84
|
+
}
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
// Not a redirect, return response
|
|
88
|
+
resolve({
|
|
89
|
+
statusCode,
|
|
90
|
+
statusMessage: res.statusMessage,
|
|
91
|
+
headers: res.headers,
|
|
92
|
+
data
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
req.on('error', (error) => {
|
|
97
|
+
if (logger.isDebugMode()) {
|
|
98
|
+
logger.error(`[HTTP Error]`, error);
|
|
99
|
+
}
|
|
100
|
+
reject(error);
|
|
101
|
+
});
|
|
102
|
+
req.on('timeout', () => {
|
|
103
|
+
req.destroy();
|
|
104
|
+
reject(new Error('Request timeout'));
|
|
105
|
+
});
|
|
106
|
+
req.end();
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Retry wrapper with exponential backoff
|
|
111
|
+
*/
|
|
112
|
+
async function withRetry(fn, operation, maxRetries = MAX_RETRIES) {
|
|
113
|
+
let lastError;
|
|
114
|
+
for (let attempt = 1; attempt <= maxRetries; attempt++) {
|
|
115
|
+
try {
|
|
116
|
+
return await fn();
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
lastError = error;
|
|
120
|
+
// Don't retry auth errors
|
|
121
|
+
if (lastError.message.includes('SSO session expired') ||
|
|
122
|
+
lastError.message.includes('401') ||
|
|
123
|
+
lastError.message.includes('403')) {
|
|
124
|
+
throw lastError;
|
|
125
|
+
}
|
|
126
|
+
// Log retry attempt
|
|
127
|
+
logger.warn(`[Retry] ${operation} failed (attempt ${attempt}/${maxRetries}): ${lastError.message}`);
|
|
128
|
+
if (attempt < maxRetries) {
|
|
129
|
+
// Exponential backoff: 1s, 2s, 4s
|
|
130
|
+
const delay = Math.pow(2, attempt - 1) * 1000;
|
|
131
|
+
logger.debug(`[Retry] Waiting ${delay}ms before retry...`);
|
|
132
|
+
await new Promise(resolve => setTimeout(resolve, delay));
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
throw lastError;
|
|
137
|
+
}
|
|
9
138
|
export async function fetchCodeMieModels(apiUrl, cookies) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const parsedUrl = new URL(`${apiUrl}${CODEMIE_ENDPOINTS.MODELS}`);
|
|
139
|
+
return withRetry(async () => {
|
|
140
|
+
const cookieString = Object.entries(cookies)
|
|
141
|
+
.map(([key, value]) => `${key}=${value}`)
|
|
142
|
+
.join(';');
|
|
143
|
+
const url = `${apiUrl}${CODEMIE_ENDPOINTS.MODELS}`;
|
|
16
144
|
const requestOptions = {
|
|
17
|
-
hostname: parsedUrl.hostname,
|
|
18
|
-
port: parsedUrl.port || (parsedUrl.protocol === 'https:' ? 443 : 80),
|
|
19
|
-
path: parsedUrl.pathname + parsedUrl.search,
|
|
20
145
|
method: 'GET',
|
|
21
146
|
headers: {
|
|
22
147
|
'cookie': cookieString,
|
|
@@ -28,29 +153,7 @@ export async function fetchCodeMieModels(apiUrl, cookies) {
|
|
|
28
153
|
rejectUnauthorized: false, // Allow self-signed certificates
|
|
29
154
|
timeout: 10000
|
|
30
155
|
};
|
|
31
|
-
const response = await
|
|
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
|
-
});
|
|
156
|
+
const response = await makeRequestWithRedirects(url, requestOptions);
|
|
54
157
|
if (!response.statusCode || response.statusCode < 200 || response.statusCode >= 300) {
|
|
55
158
|
if (response.statusCode === 401 || response.statusCode === 403) {
|
|
56
159
|
throw new Error('SSO session expired - please run setup again');
|
|
@@ -80,11 +183,7 @@ export async function fetchCodeMieModels(apiUrl, cookies) {
|
|
|
80
183
|
.filter(id => id !== 'unknown')
|
|
81
184
|
.sort();
|
|
82
185
|
return filteredModels;
|
|
83
|
-
}
|
|
84
|
-
catch (error) {
|
|
85
|
-
console.error('Error fetching CodeMie models:', error);
|
|
86
|
-
throw error;
|
|
87
|
-
}
|
|
186
|
+
}, 'fetchCodeMieModels');
|
|
88
187
|
}
|
|
89
188
|
export async function fetchCodeMieModelsFromConfig() {
|
|
90
189
|
const store = CredentialStore.getInstance();
|
|
@@ -134,96 +233,72 @@ export async function fetchCodeMieIntegrations(apiUrl, cookies, endpointPath = C
|
|
|
134
233
|
return allIntegrations;
|
|
135
234
|
}
|
|
136
235
|
async function fetchIntegrationsPage(fullUrl, cookieString) {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
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');
|
|
236
|
+
return withRetry(async () => {
|
|
237
|
+
const requestOptions = {
|
|
238
|
+
method: 'GET',
|
|
239
|
+
headers: {
|
|
240
|
+
'cookie': cookieString,
|
|
241
|
+
'Content-Type': 'application/json',
|
|
242
|
+
'User-Agent': 'CodeMie-CLI/1.0.0',
|
|
243
|
+
'X-CodeMie-Client': 'codemie-cli'
|
|
244
|
+
},
|
|
245
|
+
// Handle certificate issues commonly found in enterprise environments
|
|
246
|
+
rejectUnauthorized: false, // Allow self-signed certificates
|
|
247
|
+
timeout: 10000
|
|
248
|
+
};
|
|
249
|
+
const response = await makeRequestWithRedirects(fullUrl, requestOptions);
|
|
250
|
+
if (!response.statusCode || response.statusCode < 200 || response.statusCode >= 300) {
|
|
251
|
+
if (response.statusCode === 401 || response.statusCode === 403) {
|
|
252
|
+
throw new Error('SSO session expired - please run setup again');
|
|
253
|
+
}
|
|
254
|
+
if (response.statusCode === 404) {
|
|
255
|
+
throw new Error(`Integrations endpoint not found. Response: ${response.data}`);
|
|
256
|
+
}
|
|
257
|
+
throw new Error(`Failed to fetch integrations: ${response.statusCode} ${response.statusMessage}`);
|
|
179
258
|
}
|
|
180
|
-
|
|
181
|
-
|
|
259
|
+
// Parse the response - handle flexible response structure
|
|
260
|
+
const responseData = JSON.parse(response.data);
|
|
261
|
+
// Extract integrations from response - try all possible locations
|
|
262
|
+
let integrations = [];
|
|
263
|
+
// Try different possible property names and structures
|
|
264
|
+
const possibleArrays = [
|
|
265
|
+
responseData, // Direct array
|
|
266
|
+
responseData.integrations,
|
|
267
|
+
responseData.credentials,
|
|
268
|
+
responseData.data,
|
|
269
|
+
responseData.items,
|
|
270
|
+
responseData.results,
|
|
271
|
+
responseData.user_integrations,
|
|
272
|
+
responseData.personal_integrations,
|
|
273
|
+
responseData.available_integrations
|
|
274
|
+
].filter(arr => Array.isArray(arr));
|
|
275
|
+
if (possibleArrays.length > 0) {
|
|
276
|
+
integrations = possibleArrays[0];
|
|
182
277
|
}
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
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;
|
|
278
|
+
else {
|
|
279
|
+
// Try to find nested objects that might contain arrays
|
|
280
|
+
for (const value of Object.values(responseData)) {
|
|
281
|
+
if (typeof value === 'object' && value !== null) {
|
|
282
|
+
const nestedArrays = Object.values(value).filter(Array.isArray);
|
|
283
|
+
if (nestedArrays.length > 0) {
|
|
284
|
+
integrations = nestedArrays[0];
|
|
285
|
+
break;
|
|
286
|
+
}
|
|
212
287
|
}
|
|
213
288
|
}
|
|
214
289
|
}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
290
|
+
// Filter and validate integrations (already filtered by API, but double-check)
|
|
291
|
+
const validIntegrations = integrations
|
|
292
|
+
.filter(integration => {
|
|
293
|
+
return integration &&
|
|
294
|
+
integration.alias &&
|
|
295
|
+
integration.credential_type &&
|
|
296
|
+
integration.alias.trim() !== '' &&
|
|
297
|
+
integration.credential_type.trim() !== '';
|
|
298
|
+
})
|
|
299
|
+
.sort((a, b) => a.alias.localeCompare(b.alias));
|
|
300
|
+
return validIntegrations;
|
|
301
|
+
}, 'fetchIntegrationsPage');
|
|
227
302
|
}
|
|
228
303
|
export async function fetchCodeMieIntegrationsFromConfig() {
|
|
229
304
|
const store = CredentialStore.getInstance();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codemie-model-fetcher.js","sourceRoot":"","sources":["../../src/utils/codemie-model-fetcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codemie-model-fetcher.js","sourceRoot":"","sources":["../../src/utils/codemie-model-fetcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +1,40 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* CodeMie Proxy Server -
|
|
2
|
+
* CodeMie Proxy Server - Plugin-Based Architecture
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* KISS: Does ONE thing - forwards HTTP requests with streaming
|
|
5
|
+
* SOLID: Single responsibility, plugins injected via registry
|
|
6
|
+
* NO analytics-specific logic in core!
|
|
6
7
|
*
|
|
7
8
|
* Architecture:
|
|
8
9
|
* - ProxyHTTPClient: Handles HTTP forwarding with streaming
|
|
9
|
-
* -
|
|
10
|
-
* -
|
|
10
|
+
* - PluginRegistry: Manages plugin lifecycle and ordering
|
|
11
|
+
* - ProxyInterceptors: Plugin-based hooks for extensibility
|
|
12
|
+
* - Main Proxy: Orchestrates the flow with zero buffering
|
|
11
13
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
14
|
+
* Flow:
|
|
15
|
+
* 1. Build context
|
|
16
|
+
* 2. Run onRequest hooks
|
|
17
|
+
* 3. Forward to upstream (get response headers)
|
|
18
|
+
* 4. Run onResponseHeaders hooks
|
|
19
|
+
* 5. Stream response body (with optional chunk hooks)
|
|
20
|
+
* 6. Run onResponseComplete hooks
|
|
21
|
+
*
|
|
22
|
+
* NO BUFFERING by default!
|
|
15
23
|
*/
|
|
16
24
|
import { ProxyConfig } from './proxy/types.js';
|
|
17
|
-
|
|
25
|
+
import './proxy/plugins/index.js';
|
|
18
26
|
/**
|
|
19
|
-
* CodeMie Proxy -
|
|
20
|
-
* KISS: Core responsibility = forward requests + run
|
|
27
|
+
* CodeMie Proxy - Plugin-based HTTP proxy with streaming
|
|
28
|
+
* KISS: Core responsibility = forward requests + run plugin hooks
|
|
21
29
|
*/
|
|
22
30
|
export declare class CodeMieProxy {
|
|
23
31
|
private config;
|
|
24
32
|
private server;
|
|
25
|
-
private credentials;
|
|
26
33
|
private httpClient;
|
|
27
34
|
private interceptors;
|
|
28
35
|
private actualPort;
|
|
36
|
+
private remoteSubmitter;
|
|
29
37
|
constructor(config: ProxyConfig);
|
|
30
|
-
/**
|
|
31
|
-
* Register interceptors
|
|
32
|
-
* Easy to add new interceptors without modifying handleRequest
|
|
33
|
-
*/
|
|
34
|
-
private registerInterceptors;
|
|
35
38
|
/**
|
|
36
39
|
* Start the proxy server
|
|
37
40
|
*/
|
|
@@ -39,13 +42,26 @@ export declare class CodeMieProxy {
|
|
|
39
42
|
port: number;
|
|
40
43
|
url: string;
|
|
41
44
|
}>;
|
|
45
|
+
/**
|
|
46
|
+
* Start remote analytics submitter
|
|
47
|
+
*/
|
|
48
|
+
private startRemoteAnalyticsSubmitter;
|
|
42
49
|
/**
|
|
43
50
|
* Stop the proxy server
|
|
44
51
|
*/
|
|
45
52
|
stop(): Promise<void>;
|
|
46
53
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
54
|
+
* Handle incoming request - STREAMING ONLY
|
|
55
|
+
*
|
|
56
|
+
* Flow:
|
|
57
|
+
* 1. Build context
|
|
58
|
+
* 2. Run onRequest hooks
|
|
59
|
+
* 3. Forward to upstream (get response headers)
|
|
60
|
+
* 4. Run onResponseHeaders hooks
|
|
61
|
+
* 5. Stream response body (with optional chunk hooks)
|
|
62
|
+
* 6. Run onResponseComplete hooks
|
|
63
|
+
*
|
|
64
|
+
* NO BUFFERING!
|
|
49
65
|
*/
|
|
50
66
|
private handleRequest;
|
|
51
67
|
/**
|
|
@@ -61,9 +77,13 @@ export declare class CodeMieProxy {
|
|
|
61
77
|
*/
|
|
62
78
|
private readBody;
|
|
63
79
|
/**
|
|
64
|
-
*
|
|
80
|
+
* Stream response with optional chunk transformation
|
|
81
|
+
*/
|
|
82
|
+
private streamResponse;
|
|
83
|
+
/**
|
|
84
|
+
* Run interceptor hook safely (errors don't break flow)
|
|
65
85
|
*/
|
|
66
|
-
private
|
|
86
|
+
private runHook;
|
|
67
87
|
/**
|
|
68
88
|
* Handle errors with proper status codes and structure
|
|
69
89
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codemie-proxy.d.ts","sourceRoot":"","sources":["../../src/utils/codemie-proxy.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"codemie-proxy.d.ts","sourceRoot":"","sources":["../../src/utils/codemie-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAWH,OAAO,EAAE,WAAW,EAAgB,MAAM,kBAAkB,CAAC;AAI7D,OAAO,0BAA0B,CAAC;AAElC;;;GAGG;AACH,qBAAa,YAAY;IAOX,OAAO,CAAC,MAAM;IAN1B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,eAAe,CAAyC;gBAE5C,MAAM,EAAE,WAAW;IAQvC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IA0ErD;;OAEG;YACW,6BAA6B;IAuB3C;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B3B;;;;;;;;;;;;OAYG;YACW,aAAa;IAgD3B;;OAEG;YACW,YAAY;IA0B1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB;;OAEG;YACW,QAAQ;IAiBtB;;OAEG;YACW,cAAc;IAqD5B;;OAEG;YACW,OAAO;IAcrB;;OAEG;YACW,WAAW;IA4CzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6BzB;;OAEG;YACW,iBAAiB;CAsBhC"}
|