@codemieai/code 0.0.17 → 0.0.19
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/dist/agents/core/AgentCLI.d.ts.map +1 -1
- package/dist/agents/core/AgentCLI.js +23 -27
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts +19 -0
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +170 -55
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/core/types.d.ts +3 -5
- package/dist/agents/core/types.d.ts.map +1 -1
- package/dist/agents/plugins/claude.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude.plugin.js +2 -5
- package/dist/agents/plugins/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.js +3 -7
- package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
- package/dist/agents/plugins/codex.plugin.d.ts +4 -0
- package/dist/agents/plugins/codex.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codex.plugin.js +222 -20
- package/dist/agents/plugins/codex.plugin.js.map +1 -1
- package/dist/agents/plugins/deepagents.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/deepagents.plugin.js +2 -5
- package/dist/agents/plugins/deepagents.plugin.js.map +1 -1
- package/dist/agents/plugins/gemini.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/gemini.plugin.js +2 -5
- package/dist/agents/plugins/gemini.plugin.js.map +1 -1
- package/dist/cli/commands/doctor/index.d.ts.map +1 -1
- package/dist/cli/commands/doctor/index.js +13 -23
- package/dist/cli/commands/doctor/index.js.map +1 -1
- package/dist/metrics/sync/aggregator.d.ts +3 -2
- package/dist/metrics/sync/aggregator.d.ts.map +1 -1
- package/dist/metrics/sync/aggregator.js +28 -10
- package/dist/metrics/sync/aggregator.js.map +1 -1
- package/dist/metrics/sync/types.d.ts +1 -0
- package/dist/metrics/sync/types.d.ts.map +1 -1
- package/dist/providers/core/types.d.ts +0 -5
- package/dist/providers/core/types.d.ts.map +1 -1
- package/dist/providers/plugins/bedrock/bedrock.template.d.ts.map +1 -1
- package/dist/providers/plugins/bedrock/bedrock.template.js +0 -5
- package/dist/providers/plugins/bedrock/bedrock.template.js.map +1 -1
- package/dist/providers/plugins/litellm/litellm.template.d.ts.map +1 -1
- package/dist/providers/plugins/litellm/litellm.template.js +0 -6
- package/dist/providers/plugins/litellm/litellm.template.js.map +1 -1
- package/dist/providers/plugins/ollama/ollama.template.d.ts.map +1 -1
- package/dist/providers/plugins/ollama/ollama.template.js +22 -17
- package/dist/providers/plugins/ollama/ollama.template.js.map +1 -1
- package/dist/providers/plugins/sso/sso.template.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.template.js +0 -5
- package/dist/providers/plugins/sso/sso.template.js.map +1 -1
- package/dist/proxy/http-client.d.ts +1 -1
- package/dist/proxy/http-client.d.ts.map +1 -1
- package/dist/proxy/http-client.js +31 -0
- package/dist/proxy/http-client.js.map +1 -1
- package/dist/proxy/plugins/logging.plugin.d.ts +9 -1
- package/dist/proxy/plugins/logging.plugin.d.ts.map +1 -1
- package/dist/proxy/plugins/logging.plugin.js +126 -26
- package/dist/proxy/plugins/logging.plugin.js.map +1 -1
- package/dist/proxy/plugins/metrics-sync.plugin.js +66 -56
- package/dist/proxy/plugins/metrics-sync.plugin.js.map +1 -1
- package/dist/proxy/plugins/sso-auth.plugin.js +7 -2
- package/dist/proxy/plugins/sso-auth.plugin.js.map +1 -1
- package/dist/proxy/types.d.ts +1 -1
- package/dist/utils/codemie-proxy.d.ts +3 -1
- package/dist/utils/codemie-proxy.d.ts.map +1 -1
- package/dist/utils/codemie-proxy.js +46 -8
- package/dist/utils/codemie-proxy.js.map +1 -1
- package/dist/utils/config-loader.d.ts +4 -2
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +43 -33
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/profile.d.ts +12 -0
- package/dist/utils/profile.d.ts.map +1 -0
- package/dist/utils/profile.js +32 -0
- package/dist/utils/profile.js.map +1 -0
- package/package.json +21 -6
- package/scripts/README.md +80 -0
- package/scripts/release.sh +267 -0
- package/scripts/validate-secrets.js +54 -0
- package/dist/utils/ascii-logo.d.ts +0 -21
- package/dist/utils/ascii-logo.d.ts.map +0 -1
- package/dist/utils/ascii-logo.js +0 -75
- package/dist/utils/ascii-logo.js.map +0 -1
|
@@ -5,9 +5,8 @@ import { join } from 'path';
|
|
|
5
5
|
import { readFileSync } from 'fs';
|
|
6
6
|
import { getDirname } from '../../utils/dirname.js';
|
|
7
7
|
import { getRandomWelcomeMessage, getRandomGoodbyeMessage } from '../../utils/goodbye-messages.js';
|
|
8
|
-
import {
|
|
8
|
+
import { renderProfileInfo } from '../../utils/profile.js';
|
|
9
9
|
import chalk from 'chalk';
|
|
10
|
-
import gradient from 'gradient-string';
|
|
11
10
|
/**
|
|
12
11
|
* Built-in agent name constant - single source of truth
|
|
13
12
|
*/
|
|
@@ -49,8 +48,7 @@ export const CodeMieCodePluginMetadata = {
|
|
|
49
48
|
const profileName = config.name || 'default';
|
|
50
49
|
const sessionId = process.env.CODEMIE_SESSION_ID || 'n/a';
|
|
51
50
|
const cliVersion = process.env.CODEMIE_CLI_VERSION || 'unknown';
|
|
52
|
-
|
|
53
|
-
console.log(renderCodeMieLogo({
|
|
51
|
+
console.log(renderProfileInfo({
|
|
54
52
|
profile: profileName,
|
|
55
53
|
provider: config.provider,
|
|
56
54
|
model: config.model,
|
|
@@ -85,9 +83,7 @@ export const CodeMieCodePluginMetadata = {
|
|
|
85
83
|
console.log(''); // Empty line for spacing
|
|
86
84
|
console.log(chalk.cyan.bold(getRandomGoodbyeMessage()));
|
|
87
85
|
console.log(''); // Spacing before powered by
|
|
88
|
-
|
|
89
|
-
const codeMieGradient = gradient(['#ff00ff', '#9933ff']);
|
|
90
|
-
console.log(codeMieGradient('Powered by AI/Run CodeMie CLI'));
|
|
86
|
+
console.log(chalk.cyan('Powered by AI/Run CodeMie CLI'));
|
|
91
87
|
console.log(''); // Empty line for spacing
|
|
92
88
|
}
|
|
93
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codemie-code.plugin.js","sourceRoot":"","sources":["../../../src/agents/plugins/codemie-code.plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"codemie-code.plugin.js","sourceRoot":"","sources":["../../../src/agents/plugins/codemie-code.plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { AgentMetadata } from '../core/types.js';
|
|
2
2
|
import { BaseAgentAdapter } from '../core/BaseAgentAdapter.js';
|
|
3
|
+
export declare function cleanupAuthJson(authFile: string, sessionEnv?: NodeJS.ProcessEnv, configFile?: string): Promise<void>;
|
|
4
|
+
export declare function cleanupConfigToml(configFile: string, sessionEnv?: NodeJS.ProcessEnv): Promise<void>;
|
|
5
|
+
export declare function setupAuthJson(authFile: string, env: NodeJS.ProcessEnv): Promise<void>;
|
|
6
|
+
export declare function setupConfigToml(configFile: string, env: NodeJS.ProcessEnv): Promise<void>;
|
|
3
7
|
/**
|
|
4
8
|
* Codex Plugin Metadata
|
|
5
9
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.plugin.d.ts","sourceRoot":"","sources":["../../../src/agents/plugins/codex.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.plugin.d.ts","sourceRoot":"","sources":["../../../src/agents/plugins/codex.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAoC/D,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD1H;AAED,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAuCzG;AAiED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3F;AAoBD,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B/F;AAiDD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,aAmCjC,CAAC;AAEF;;GAEG;AACH,qBAAa,WAAY,SAAQ,gBAAgB;;CAIhD"}
|
|
@@ -1,8 +1,203 @@
|
|
|
1
1
|
import { BaseAgentAdapter } from '../core/BaseAgentAdapter.js';
|
|
2
|
-
import { mkdir, writeFile } from 'fs/promises';
|
|
2
|
+
import { mkdir, writeFile, readFile } from 'fs/promises';
|
|
3
3
|
import { existsSync } from 'fs';
|
|
4
4
|
import { join } from 'path';
|
|
5
5
|
import { homedir } from 'os';
|
|
6
|
+
/**
|
|
7
|
+
* Helper functions
|
|
8
|
+
*/
|
|
9
|
+
async function atomicWrite(filePath, content) {
|
|
10
|
+
const tempFile = filePath + '.tmp';
|
|
11
|
+
await writeFile(tempFile, content);
|
|
12
|
+
const { rename } = await import('fs/promises');
|
|
13
|
+
await rename(tempFile, filePath);
|
|
14
|
+
}
|
|
15
|
+
async function countActiveSessions(configFile, excludeSessionId) {
|
|
16
|
+
if (!existsSync(configFile))
|
|
17
|
+
return 0;
|
|
18
|
+
const configContent = await readFile(configFile, 'utf-8');
|
|
19
|
+
const sessionMarkerRegex = /# --- CODEMIE SESSION START: (.+?) ---/g;
|
|
20
|
+
const matches = [...configContent.matchAll(sessionMarkerRegex)];
|
|
21
|
+
// Count sessions, excluding the one being cleaned up
|
|
22
|
+
let count = 0;
|
|
23
|
+
for (const match of matches) {
|
|
24
|
+
const sessionId = match[1];
|
|
25
|
+
if (sessionId !== excludeSessionId) {
|
|
26
|
+
count++;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return count;
|
|
30
|
+
}
|
|
31
|
+
export async function cleanupAuthJson(authFile, sessionEnv, configFile) {
|
|
32
|
+
if (!existsSync(authFile))
|
|
33
|
+
return;
|
|
34
|
+
const authContent = await readFile(authFile, 'utf-8');
|
|
35
|
+
const authConfig = JSON.parse(authContent);
|
|
36
|
+
const provider = sessionEnv?.CODEMIE_PROFILE_NAME || sessionEnv?.CODEMIE_PROVIDER;
|
|
37
|
+
// Count remaining active sessions (excluding current one being cleaned)
|
|
38
|
+
const sessionId = sessionEnv?.CODEMIE_SESSION_ID;
|
|
39
|
+
const remainingSessions = configFile ? await countActiveSessions(configFile, sessionId) : 0;
|
|
40
|
+
const cleanedAuth = {};
|
|
41
|
+
// Provider-specific cleanup
|
|
42
|
+
if (provider === 'gemini') {
|
|
43
|
+
// Remove only Gemini-specific vars that match this session
|
|
44
|
+
for (const [key, value] of Object.entries(authConfig)) {
|
|
45
|
+
if (typeof value !== 'string')
|
|
46
|
+
continue;
|
|
47
|
+
// Remove only this session's gemini keys
|
|
48
|
+
if (key === 'GEMINI_API_KEY' && value === sessionEnv?.GEMINI_API_KEY) {
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
if (key === 'GOOGLE_GEMINI_BASE_URL' && value === sessionEnv?.GOOGLE_GEMINI_BASE_URL) {
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
// Remove OPENAI_API_KEY if it was set by gemini and no other sessions remain
|
|
55
|
+
if (key === 'OPENAI_API_KEY' && value === sessionEnv?.OPENAI_API_KEY && value === 'not-required' && remainingSessions === 0) {
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
cleanedAuth[key] = value;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
// Ollama or other OpenAI-compatible providers
|
|
63
|
+
const sessionBaseUrl = sessionEnv?.OPENAI_BASE_URL || sessionEnv?.OPENAI_API_BASE;
|
|
64
|
+
for (const [key, value] of Object.entries(authConfig)) {
|
|
65
|
+
if (typeof value !== 'string')
|
|
66
|
+
continue;
|
|
67
|
+
// Only remove OPENAI_API_BASE if it matches this session's URL
|
|
68
|
+
if (key === 'OPENAI_API_BASE' && value === sessionBaseUrl) {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
// Remove OPENAI_API_KEY only if no other sessions remain
|
|
72
|
+
if (key === 'OPENAI_API_KEY' && value === sessionEnv?.OPENAI_API_KEY && value === 'not-required' && remainingSessions === 0) {
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
// Keep everything else
|
|
76
|
+
cleanedAuth[key] = value;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
await atomicWrite(authFile, JSON.stringify(cleanedAuth, null, 2));
|
|
80
|
+
}
|
|
81
|
+
export async function cleanupConfigToml(configFile, sessionEnv) {
|
|
82
|
+
if (!existsSync(configFile))
|
|
83
|
+
return;
|
|
84
|
+
const sessionId = sessionEnv?.CODEMIE_SESSION_ID;
|
|
85
|
+
if (!sessionId) {
|
|
86
|
+
// Fallback: try to find any session for this provider (backward compat)
|
|
87
|
+
const profileName = sessionEnv?.CODEMIE_PROFILE_NAME || sessionEnv?.CODEMIE_PROVIDER;
|
|
88
|
+
if (!profileName)
|
|
89
|
+
return;
|
|
90
|
+
let configContent = await readFile(configFile, 'utf-8');
|
|
91
|
+
// Remove any session block for this provider
|
|
92
|
+
const sessionBlockRegex = new RegExp(`# --- CODEMIE SESSION START: ${profileName}-\\d+ ---[\\s\\S]*?# --- CODEMIE SESSION END: ${profileName}-\\d+ ---\\n?`, 'g');
|
|
93
|
+
configContent = configContent.replace(sessionBlockRegex, '');
|
|
94
|
+
configContent = configContent.replace(/^\s*\n+/gm, '\n').replace(/^\n/, ''); // Clean up empty lines
|
|
95
|
+
await atomicWrite(configFile, configContent);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
// Use session ID for precise removal
|
|
99
|
+
let configContent = await readFile(configFile, 'utf-8');
|
|
100
|
+
const sessionStartMarker = `# --- CODEMIE SESSION START: ${sessionId} ---`;
|
|
101
|
+
const sessionEndMarker = `# --- CODEMIE SESSION END: ${sessionId} ---`;
|
|
102
|
+
const sessionBlockRegex = new RegExp(`${sessionStartMarker.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}[\\s\\S]*?${sessionEndMarker.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}\\n?`, 'g');
|
|
103
|
+
configContent = configContent.replace(sessionBlockRegex, '');
|
|
104
|
+
configContent = configContent.replace(/^\s*\n+/gm, '\n').replace(/^\n/, ''); // Clean up empty lines
|
|
105
|
+
await atomicWrite(configFile, configContent);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Setup helper functions
|
|
109
|
+
*/
|
|
110
|
+
async function ensureCodexDirectory(codexDir) {
|
|
111
|
+
if (!existsSync(codexDir)) {
|
|
112
|
+
await mkdir(codexDir, { recursive: true });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
async function loadExistingAuth(authFile) {
|
|
116
|
+
if (!existsSync(authFile)) {
|
|
117
|
+
return {};
|
|
118
|
+
}
|
|
119
|
+
try {
|
|
120
|
+
const authContent = await readFile(authFile, 'utf-8');
|
|
121
|
+
return JSON.parse(authContent);
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
// Ignore parse errors, will overwrite with valid JSON
|
|
125
|
+
return {};
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
function buildAuthConfig(env, existingAuth) {
|
|
129
|
+
const authConfig = {
|
|
130
|
+
...existingAuth
|
|
131
|
+
};
|
|
132
|
+
const provider = env.CODEMIE_PROFILE_NAME || env.CODEMIE_PROVIDER;
|
|
133
|
+
// Provider-specific auth configuration
|
|
134
|
+
if (provider === 'gemini') {
|
|
135
|
+
// Gemini session: add Gemini-specific vars
|
|
136
|
+
if (env.GEMINI_API_KEY) {
|
|
137
|
+
authConfig.GEMINI_API_KEY = env.GEMINI_API_KEY;
|
|
138
|
+
}
|
|
139
|
+
if (env.GOOGLE_GEMINI_BASE_URL) {
|
|
140
|
+
authConfig.GOOGLE_GEMINI_BASE_URL = env.GOOGLE_GEMINI_BASE_URL;
|
|
141
|
+
}
|
|
142
|
+
// Also set OPENAI_* for compatibility (gemini can use OpenAI SDK)
|
|
143
|
+
if (env.OPENAI_API_KEY) {
|
|
144
|
+
authConfig.OPENAI_API_KEY = env.OPENAI_API_KEY;
|
|
145
|
+
}
|
|
146
|
+
// Don't overwrite OPENAI_API_BASE if it exists from another session
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
// Ollama or other OpenAI-compatible providers
|
|
150
|
+
authConfig.OPENAI_API_KEY = env.OPENAI_API_KEY || existingAuth.OPENAI_API_KEY || 'not-required';
|
|
151
|
+
// Codex prioritizes OPENAI_API_BASE over OPENAI_BASE_URL
|
|
152
|
+
if (env.OPENAI_BASE_URL) {
|
|
153
|
+
authConfig.OPENAI_API_BASE = env.OPENAI_BASE_URL;
|
|
154
|
+
}
|
|
155
|
+
else if (env.OPENAI_API_BASE) {
|
|
156
|
+
authConfig.OPENAI_API_BASE = env.OPENAI_API_BASE;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return authConfig;
|
|
160
|
+
}
|
|
161
|
+
export async function setupAuthJson(authFile, env) {
|
|
162
|
+
const existingAuth = await loadExistingAuth(authFile);
|
|
163
|
+
const authConfig = buildAuthConfig(env, existingAuth);
|
|
164
|
+
await atomicWrite(authFile, JSON.stringify(authConfig, null, 2));
|
|
165
|
+
}
|
|
166
|
+
function buildSessionBlock(providerName, baseUrl, model) {
|
|
167
|
+
// Generate unique session ID (timestamp + provider)
|
|
168
|
+
const sessionId = `${providerName}-${Date.now()}`;
|
|
169
|
+
let content = '';
|
|
170
|
+
content += `# --- CODEMIE SESSION START: ${sessionId} ---\n`;
|
|
171
|
+
content += `profile = "${providerName}"\n\n`;
|
|
172
|
+
content += `[model_providers.${providerName}]\n`;
|
|
173
|
+
content += `name = "${providerName}"\n`;
|
|
174
|
+
content += `base_url = "${baseUrl}"\n\n`;
|
|
175
|
+
content += `[profiles.${providerName}]\n`;
|
|
176
|
+
content += `model_provider = "${providerName}"\n`;
|
|
177
|
+
content += `model = "${model}"\n`;
|
|
178
|
+
content += `# --- CODEMIE SESSION END: ${sessionId} ---\n`;
|
|
179
|
+
return content;
|
|
180
|
+
}
|
|
181
|
+
export async function setupConfigToml(configFile, env) {
|
|
182
|
+
const model = env.OPENAI_MODEL || env.CODEX_MODEL;
|
|
183
|
+
const baseUrl = env.OPENAI_BASE_URL || env.OPENAI_API_BASE;
|
|
184
|
+
if (!model || !baseUrl) {
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
const providerName = env.CODEMIE_PROFILE_NAME || env.CODEMIE_PROVIDER || 'default';
|
|
188
|
+
// Read existing content (or empty if file doesn't exist)
|
|
189
|
+
let existingContent = '';
|
|
190
|
+
if (existsSync(configFile)) {
|
|
191
|
+
existingContent = await readFile(configFile, 'utf-8');
|
|
192
|
+
}
|
|
193
|
+
// Build session block
|
|
194
|
+
const sessionBlock = buildSessionBlock(providerName, baseUrl, model);
|
|
195
|
+
// Append session block to existing content
|
|
196
|
+
const newContent = existingContent ? `${existingContent}\n${sessionBlock}` : sessionBlock;
|
|
197
|
+
// Store session ID for cleanup
|
|
198
|
+
env.CODEMIE_SESSION_ID = sessionBlock.match(/# --- CODEMIE SESSION START: (.*?) ---/)?.[1] || '';
|
|
199
|
+
await atomicWrite(configFile, newContent);
|
|
200
|
+
}
|
|
6
201
|
// Define metadata object for reusability
|
|
7
202
|
const metadata = {
|
|
8
203
|
name: 'codex',
|
|
@@ -23,19 +218,18 @@ const metadata = {
|
|
|
23
218
|
},
|
|
24
219
|
supportedProviders: ['ollama', 'litellm', 'ai-run-sso'],
|
|
25
220
|
blockedModelPatterns: [/^claude/i],
|
|
221
|
+
recommendedModels: ['gpt-4.1', 'gpt-4o', 'qwen2.5-coder'],
|
|
26
222
|
ssoConfig: {
|
|
27
223
|
enabled: true,
|
|
28
|
-
clientType: 'codex-cli'
|
|
29
|
-
envOverrides: {
|
|
30
|
-
baseUrl: 'OPENAI_API_BASE',
|
|
31
|
-
apiKey: 'OPENAI_API_KEY'
|
|
32
|
-
}
|
|
224
|
+
clientType: 'codex-cli'
|
|
33
225
|
},
|
|
34
|
-
//
|
|
226
|
+
// Pass profile to Codex (uses config.toml profiles)
|
|
35
227
|
argumentTransform: (args, config) => {
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
228
|
+
const hasProfileArg = args.some((arg, idx) => (arg === '--profile') && idx < args.length - 1);
|
|
229
|
+
// Use CodeMie profile name (matches beforeRun setup)
|
|
230
|
+
const profileName = config.profileName || config.provider || 'default';
|
|
231
|
+
if (!hasProfileArg) {
|
|
232
|
+
return ['--profile', profileName, ...args];
|
|
39
233
|
}
|
|
40
234
|
return args;
|
|
41
235
|
}
|
|
@@ -50,18 +244,26 @@ export const CodexPluginMetadata = {
|
|
|
50
244
|
beforeRun: async (env) => {
|
|
51
245
|
const codexDir = join(homedir(), metadata.dataPaths.home.replace('~/', ''));
|
|
52
246
|
const authFile = join(codexDir, metadata.dataPaths.settings);
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
247
|
+
const configFile = join(codexDir, 'config.toml');
|
|
248
|
+
await ensureCodexDirectory(codexDir);
|
|
249
|
+
await setupAuthJson(authFile, env);
|
|
250
|
+
await setupConfigToml(configFile, env);
|
|
251
|
+
return env;
|
|
252
|
+
},
|
|
253
|
+
afterRun: async (exitCode, sessionEnv) => {
|
|
254
|
+
// Cleanup session-specific configuration after session ends
|
|
255
|
+
const codexDir = join(homedir(), metadata.dataPaths.home.replace('~/', ''));
|
|
256
|
+
const authFile = join(codexDir, metadata.dataPaths.settings);
|
|
257
|
+
const configFile = join(codexDir, 'config.toml');
|
|
258
|
+
try {
|
|
259
|
+
await cleanupAuthJson(authFile, sessionEnv, configFile);
|
|
260
|
+
await cleanupConfigToml(configFile, sessionEnv);
|
|
56
261
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
};
|
|
62
|
-
await writeFile(authFile, JSON.stringify(authConfig, null, 2));
|
|
262
|
+
catch (error) {
|
|
263
|
+
// Ignore cleanup errors (session already ended, non-critical)
|
|
264
|
+
const { logger } = await import('../../utils/logger.js');
|
|
265
|
+
logger.debug(`Cleanup failed (non-critical): ${error instanceof Error ? error.message : String(error)}`);
|
|
63
266
|
}
|
|
64
|
-
return env;
|
|
65
267
|
}
|
|
66
268
|
},
|
|
67
269
|
// Analytics adapter uses same metadata (DRY!)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.plugin.js","sourceRoot":"","sources":["../../../src/agents/plugins/codex.plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.plugin.js","sourceRoot":"","sources":["../../../src/agents/plugins/codex.plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepagents.plugin.d.ts","sourceRoot":"","sources":["../../../src/agents/plugins/deepagents.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAI/D;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,
|
|
1
|
+
{"version":3,"file":"deepagents.plugin.d.ts","sourceRoot":"","sources":["../../../src/agents/plugins/deepagents.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAI/D;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,aA+CtC,CAAC;AAEF;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,gBAAgB;;IAKpD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB9B;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAkBjC"}
|
|
@@ -17,15 +17,12 @@ export const DeepAgentsPluginMetadata = {
|
|
|
17
17
|
},
|
|
18
18
|
supportedProviders: ['ollama', 'litellm', 'ai-run-sso'],
|
|
19
19
|
blockedModelPatterns: [], // Accepts both Claude and OpenAI models
|
|
20
|
+
recommendedModels: ['claude-4-5-sonnet', 'gpt-4.1', 'gpt-4o'],
|
|
20
21
|
// Note: Deep Agents CLI doesn't support CLI arguments for API configuration
|
|
21
22
|
// All configuration must be done via environment variables
|
|
22
23
|
ssoConfig: {
|
|
23
24
|
enabled: true,
|
|
24
|
-
clientType: 'codemie-deepagents'
|
|
25
|
-
envOverrides: {
|
|
26
|
-
baseUrl: 'OPENAI_BASE_URL', // Deep Agents uses OpenAI SDK for custom base URLs
|
|
27
|
-
apiKey: 'OPENAI_API_KEY' // Use OpenAI env vars when proxying through SSO/LiteLLM
|
|
28
|
-
}
|
|
25
|
+
clientType: 'codemie-deepagents'
|
|
29
26
|
},
|
|
30
27
|
lifecycle: {
|
|
31
28
|
async beforeRun(env) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepagents.plugin.js","sourceRoot":"","sources":["../../../src/agents/plugins/deepagents.plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAkB;IACrD,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,+DAA+D;IAE5E,UAAU,EAAE,gBAAgB;IAC5B,UAAU,EAAE,gBAAgB;IAE5B,UAAU,EAAE;QACV,OAAO,EAAE,CAAC,oBAAoB,EAAE,iBAAiB,CAAC;QAClD,MAAM,EAAE,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;QAC/C,KAAK,EAAE,EAAE,CAAC,kGAAkG;KAC7G;IAED,kBAAkB,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC;IACvD,oBAAoB,EAAE,EAAE,EAAE,wCAAwC;
|
|
1
|
+
{"version":3,"file":"deepagents.plugin.js","sourceRoot":"","sources":["../../../src/agents/plugins/deepagents.plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.plugin.d.ts","sourceRoot":"","sources":["../../../src/agents/plugins/gemini.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"gemini.plugin.d.ts","sourceRoot":"","sources":["../../../src/agents/plugins/gemini.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAsC/D;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,aA4ClC,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAa,SAAQ,gBAAgB;;CAIjD"}
|
|
@@ -17,13 +17,10 @@ const metadata = {
|
|
|
17
17
|
},
|
|
18
18
|
supportedProviders: ['ai-run-sso', 'litellm'],
|
|
19
19
|
blockedModelPatterns: [/^claude/i, /^gpt/i], // Gemini models only
|
|
20
|
+
recommendedModels: ['gemini-2.5-flash', 'gemini-2.5-pro'],
|
|
20
21
|
ssoConfig: {
|
|
21
22
|
enabled: true,
|
|
22
|
-
clientType: 'gemini-cli'
|
|
23
|
-
envOverrides: {
|
|
24
|
-
baseUrl: 'GOOGLE_GEMINI_BASE_URL',
|
|
25
|
-
apiKey: 'GEMINI_API_KEY'
|
|
26
|
-
}
|
|
23
|
+
clientType: 'gemini-cli'
|
|
27
24
|
},
|
|
28
25
|
// Data paths (used by lifecycle hooks and analytics)
|
|
29
26
|
dataPaths: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.plugin.js","sourceRoot":"","sources":["../../../src/agents/plugins/gemini.plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,+DAA+D;AAC/D,MAAM,QAAQ,GAAG;IACf,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,yCAAyC;IAEtD,UAAU,EAAE,oBAAoB;IAChC,UAAU,EAAE,QAAQ;IAEpB,UAAU,EAAE;QACV,OAAO,EAAE,CAAC,wBAAwB,EAAE,iBAAiB,CAAC;QACtD,MAAM,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;QAC5C,KAAK,EAAE,CAAC,cAAc,CAAC;KACxB;IAED,kBAAkB,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;IAC7C,oBAAoB,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,qBAAqB;
|
|
1
|
+
{"version":3,"file":"gemini.plugin.js","sourceRoot":"","sources":["../../../src/agents/plugins/gemini.plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/doctor/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,wBAAgB,mBAAmB,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/doctor/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,wBAAgB,mBAAmB,IAAI,OAAO,CAmL7C"}
|
|
@@ -33,31 +33,20 @@ export function createDoctorCommand() {
|
|
|
33
33
|
logger.debug(`Working Directory: ${process.cwd()}`);
|
|
34
34
|
logger.debug(`Home Directory: ${os.homedir()}`);
|
|
35
35
|
logger.debug(`Temp Directory: ${os.tmpdir()}`);
|
|
36
|
-
// Log
|
|
37
|
-
logger.debug('=== Environment Variables ===');
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
'PATH',
|
|
41
|
-
'CODEMIE_DEBUG',
|
|
42
|
-
'CODEMIE_CONFIG_PATH',
|
|
43
|
-
'OPENAI_API_KEY',
|
|
44
|
-
'OPENAI_BASE_URL',
|
|
45
|
-
'ANTHROPIC_AUTH_TOKEN',
|
|
46
|
-
'ANTHROPIC_BASE_URL',
|
|
47
|
-
'GEMINI_API_KEY',
|
|
48
|
-
'GOOGLE_GEMINI_BASE_URL',
|
|
49
|
-
'AWS_PROFILE',
|
|
50
|
-
'AWS_REGION',
|
|
51
|
-
'npm_config_prefix',
|
|
52
|
-
'npm_config_global_prefix',
|
|
53
|
-
'npm_execpath'
|
|
54
|
-
];
|
|
55
|
-
for (const key of relevantEnvVars) {
|
|
36
|
+
// Log all environment variables (sanitized)
|
|
37
|
+
logger.debug('=== Environment Variables (All) ===');
|
|
38
|
+
const sortedEnvKeys = Object.keys(process.env).sort();
|
|
39
|
+
for (const key of sortedEnvKeys) {
|
|
56
40
|
const value = process.env[key];
|
|
57
41
|
if (value) {
|
|
58
|
-
// Mask API keys
|
|
59
|
-
if (key.
|
|
60
|
-
|
|
42
|
+
// Mask sensitive values (API keys, tokens, secrets)
|
|
43
|
+
if (key.toLowerCase().includes('key') ||
|
|
44
|
+
key.toLowerCase().includes('token') ||
|
|
45
|
+
key.toLowerCase().includes('secret') ||
|
|
46
|
+
key.toLowerCase().includes('password')) {
|
|
47
|
+
const masked = value.length > 12
|
|
48
|
+
? value.substring(0, 8) + '***' + value.substring(value.length - 4)
|
|
49
|
+
: '***';
|
|
61
50
|
logger.debug(`${key}: ${masked}`);
|
|
62
51
|
}
|
|
63
52
|
else {
|
|
@@ -65,6 +54,7 @@ export function createDoctorCommand() {
|
|
|
65
54
|
}
|
|
66
55
|
}
|
|
67
56
|
}
|
|
57
|
+
logger.debug('=== End Environment Variables ===');
|
|
68
58
|
logger.debug('');
|
|
69
59
|
const formatter = new HealthCheckFormatter();
|
|
70
60
|
const results = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/commands/doctor/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,OAAO,EACP,WAAW,EACX,aAAa,EACb,WAAW,EACX,cAAc,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEtC,OAAO;SACJ,WAAW,CAAC,uCAAuC,CAAC;SACpD,MAAM,CAAC,eAAe,EAAE,oDAAoD,CAAC;SAC7E,MAAM,CAAC,KAAK,EAAE,OAA8B,EAAE,EAAE;QAC/C,2CAA2C;QAC3C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,MAAM,CAAC;YAEnC,yBAAyB;YACzB,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;YAC5C,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,WAAW,IAAI,CAAC,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,iBAAiB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,sBAAsB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAE/C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/commands/doctor/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
import type { MetricDelta, MetricsSession } from '../types.js';
|
|
8
8
|
import type { SessionMetric } from './types.js';
|
|
9
9
|
/**
|
|
10
|
-
* Aggregate pending deltas into
|
|
10
|
+
* Aggregate pending deltas into session metrics grouped by branch
|
|
11
|
+
* Returns one metric per branch to prevent mixing metrics between branches
|
|
11
12
|
*/
|
|
12
|
-
export declare function aggregateDeltas(deltas: MetricDelta[], session: MetricsSession, version: string): SessionMetric;
|
|
13
|
+
export declare function aggregateDeltas(deltas: MetricDelta[], session: MetricsSession, version: string): SessionMetric[];
|
|
13
14
|
//# sourceMappingURL=aggregator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregator.d.ts","sourceRoot":"","sources":["../../../src/metrics/sync/aggregator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAoB,aAAa,EAAC,MAAM,YAAY,CAAC;AAGjE
|
|
1
|
+
{"version":3,"file":"aggregator.d.ts","sourceRoot":"","sources":["../../../src/metrics/sync/aggregator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAoB,aAAa,EAAC,MAAM,YAAY,CAAC;AAGjE;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EAAE,EACrB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,MAAM,GACd,aAAa,EAAE,CAmCjB"}
|
|
@@ -6,22 +6,39 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { logger } from '../../utils/logger.js';
|
|
8
8
|
/**
|
|
9
|
-
* Aggregate pending deltas into
|
|
9
|
+
* Aggregate pending deltas into session metrics grouped by branch
|
|
10
|
+
* Returns one metric per branch to prevent mixing metrics between branches
|
|
10
11
|
*/
|
|
11
12
|
export function aggregateDeltas(deltas, session, version) {
|
|
12
13
|
logger.debug(`[aggregator] Aggregating ${deltas.length} deltas for session ${session.sessionId}`);
|
|
13
|
-
//
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
// Group deltas by branch
|
|
15
|
+
const deltasByBranch = new Map();
|
|
16
|
+
for (const delta of deltas) {
|
|
17
|
+
const branch = delta.gitBranch || 'unknown';
|
|
18
|
+
if (!deltasByBranch.has(branch)) {
|
|
19
|
+
deltasByBranch.set(branch, []);
|
|
20
|
+
}
|
|
21
|
+
deltasByBranch.get(branch).push(delta);
|
|
22
|
+
}
|
|
23
|
+
logger.debug(`[aggregator] Grouped deltas into ${deltasByBranch.size} branches: ${Array.from(deltasByBranch.keys()).join(', ')}`);
|
|
24
|
+
// Create one metric per branch
|
|
25
|
+
const metrics = [];
|
|
26
|
+
for (const [branch, branchDeltas] of deltasByBranch) {
|
|
27
|
+
logger.debug(`[aggregator] Building metric for branch "${branch}" with ${branchDeltas.length} deltas`);
|
|
28
|
+
// Build attributes from deltas for this branch
|
|
29
|
+
const attributes = buildSessionAttributes(branchDeltas, session, version, branch);
|
|
30
|
+
// Create session metric for this branch
|
|
31
|
+
metrics.push({
|
|
32
|
+
name: 'codemie_cli_usage_total',
|
|
33
|
+
attributes
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
return metrics;
|
|
20
37
|
}
|
|
21
38
|
/**
|
|
22
|
-
* Build session attributes from deltas
|
|
39
|
+
* Build session attributes from deltas for a specific branch
|
|
23
40
|
*/
|
|
24
|
-
function buildSessionAttributes(deltas, session, version) {
|
|
41
|
+
function buildSessionAttributes(deltas, session, version, branch) {
|
|
25
42
|
// Token aggregation
|
|
26
43
|
let totalInput = 0;
|
|
27
44
|
let totalOutput = 0;
|
|
@@ -127,6 +144,7 @@ function buildSessionAttributes(deltas, session, version) {
|
|
|
127
144
|
llm_model: primaryModel || 'unknown',
|
|
128
145
|
project: session.workingDirectory,
|
|
129
146
|
session_id: session.sessionId,
|
|
147
|
+
git_branch: branch,
|
|
130
148
|
// Interaction Metrics
|
|
131
149
|
total_user_prompts: userPromptCount,
|
|
132
150
|
// Token Metrics
|