@codemieai/code 0.0.27 → 0.0.28

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 (188) hide show
  1. package/README.md +1 -1
  2. package/dist/agents/codemie-code/agent.js +1 -1
  3. package/dist/agents/codemie-code/config.d.ts +1 -1
  4. package/dist/agents/codemie-code/config.d.ts.map +1 -1
  5. package/dist/agents/codemie-code/config.js +3 -3
  6. package/dist/agents/codemie-code/config.js.map +1 -1
  7. package/dist/agents/codemie-code/index.js +1 -1
  8. package/dist/agents/codemie-code/storage/todoStorage.d.ts.map +1 -1
  9. package/dist/agents/codemie-code/storage/todoStorage.js +2 -2
  10. package/dist/agents/codemie-code/storage/todoStorage.js.map +1 -1
  11. package/dist/agents/codemie-code/tools/index.js +1 -1
  12. package/dist/agents/codemie-code/tools/index.js.map +1 -1
  13. package/dist/agents/core/AgentCLI.js +2 -2
  14. package/dist/agents/core/AgentCLI.js.map +1 -1
  15. package/dist/agents/core/BaseAgentAdapter.js +5 -5
  16. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  17. package/dist/agents/core/BaseMetricsAdapter.js +1 -1
  18. package/dist/agents/core/BaseMetricsAdapter.js.map +1 -1
  19. package/dist/agents/core/metrics/MetricsOrchestrator.js +2 -2
  20. package/dist/agents/core/metrics/MetricsOrchestrator.js.map +1 -1
  21. package/dist/agents/core/metrics/core/DeltaWriter.js +1 -1
  22. package/dist/agents/core/metrics/core/DeltaWriter.js.map +1 -1
  23. package/dist/agents/core/metrics/session/SessionStore.js +1 -1
  24. package/dist/agents/core/metrics/session/SessionStore.js.map +1 -1
  25. package/dist/agents/core/metrics-config.d.ts.map +1 -1
  26. package/dist/agents/core/metrics-config.js +4 -3
  27. package/dist/agents/core/metrics-config.js.map +1 -1
  28. package/dist/agents/plugins/claude.metrics.js +2 -2
  29. package/dist/agents/plugins/claude.metrics.js.map +1 -1
  30. package/dist/agents/plugins/codemie-code.plugin.js +1 -1
  31. package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
  32. package/dist/agents/plugins/codex.metrics.d.ts +69 -0
  33. package/dist/agents/plugins/codex.metrics.d.ts.map +1 -0
  34. package/dist/agents/plugins/codex.metrics.js +483 -0
  35. package/dist/agents/plugins/codex.metrics.js.map +1 -0
  36. package/dist/agents/plugins/codex.plugin.d.ts +7 -3
  37. package/dist/agents/plugins/codex.plugin.d.ts.map +1 -1
  38. package/dist/agents/plugins/codex.plugin.js +41 -205
  39. package/dist/agents/plugins/codex.plugin.js.map +1 -1
  40. package/dist/agents/plugins/deepagents.plugin.js +1 -1
  41. package/dist/agents/plugins/deepagents.plugin.js.map +1 -1
  42. package/dist/agents/plugins/gemini.metrics.js +1 -1
  43. package/dist/agents/plugins/gemini.metrics.js.map +1 -1
  44. package/dist/cli/commands/analytics/data-loader.d.ts.map +1 -1
  45. package/dist/cli/commands/analytics/data-loader.js +2 -2
  46. package/dist/cli/commands/analytics/data-loader.js.map +1 -1
  47. package/dist/cli/commands/doctor/checks/AIConfigCheck.js +1 -1
  48. package/dist/cli/commands/doctor/checks/AIConfigCheck.js.map +1 -1
  49. package/dist/cli/commands/doctor/checks/AwsCliCheck.js +1 -1
  50. package/dist/cli/commands/doctor/checks/AwsCliCheck.js.map +1 -1
  51. package/dist/cli/commands/doctor/checks/NpmCheck.js +1 -1
  52. package/dist/cli/commands/doctor/checks/NpmCheck.js.map +1 -1
  53. package/dist/cli/commands/doctor/checks/PythonCheck.js +1 -1
  54. package/dist/cli/commands/doctor/checks/PythonCheck.js.map +1 -1
  55. package/dist/cli/commands/doctor/checks/UvCheck.js +1 -1
  56. package/dist/cli/commands/doctor/checks/UvCheck.js.map +1 -1
  57. package/dist/cli/commands/doctor/types.d.ts +1 -1
  58. package/dist/cli/commands/doctor/types.d.ts.map +1 -1
  59. package/dist/cli/commands/profile/auth.js +1 -1
  60. package/dist/cli/commands/profile/auth.js.map +1 -1
  61. package/dist/{utils/profile-display.d.ts → cli/commands/profile/display.d.ts} +3 -3
  62. package/dist/cli/commands/profile/display.d.ts.map +1 -0
  63. package/dist/{utils/profile-display.js → cli/commands/profile/display.js} +2 -2
  64. package/dist/cli/commands/profile/display.js.map +1 -0
  65. package/dist/cli/commands/profile/index.js +2 -2
  66. package/dist/cli/commands/profile/index.js.map +1 -1
  67. package/dist/cli/commands/setup.js +1 -1
  68. package/dist/cli/commands/setup.js.map +1 -1
  69. package/dist/cli/commands/update.d.ts +3 -0
  70. package/dist/cli/commands/update.d.ts.map +1 -0
  71. package/dist/cli/commands/update.js +290 -0
  72. package/dist/cli/commands/update.js.map +1 -0
  73. package/dist/cli/commands/version.js +1 -1
  74. package/dist/cli/commands/version.js.map +1 -1
  75. package/dist/cli/first-time.d.ts.map +1 -0
  76. package/dist/{utils → cli}/first-time.js +1 -1
  77. package/dist/cli/first-time.js.map +1 -0
  78. package/dist/cli/index.js +4 -2
  79. package/dist/cli/index.js.map +1 -1
  80. package/dist/env/manager.d.ts.map +1 -1
  81. package/dist/env/manager.js +3 -4
  82. package/dist/env/manager.js.map +1 -1
  83. package/dist/frameworks/core/BaseFrameworkAdapter.js +1 -1
  84. package/dist/frameworks/core/BaseFrameworkAdapter.js.map +1 -1
  85. package/dist/frameworks/plugins/bmad.plugin.js +2 -2
  86. package/dist/frameworks/plugins/bmad.plugin.js.map +1 -1
  87. package/dist/frameworks/plugins/speckit.plugin.js +1 -1
  88. package/dist/frameworks/plugins/speckit.plugin.js.map +1 -1
  89. package/dist/index.d.ts +1 -1
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.js +1 -1
  92. package/dist/index.js.map +1 -1
  93. package/dist/migrations/001-config-rename.migration.d.ts.map +1 -1
  94. package/dist/migrations/001-config-rename.migration.js +2 -2
  95. package/dist/migrations/001-config-rename.migration.js.map +1 -1
  96. package/dist/migrations/tracker.d.ts.map +1 -1
  97. package/dist/migrations/tracker.js +2 -2
  98. package/dist/migrations/tracker.js.map +1 -1
  99. package/dist/providers/core/base/http-client.js +1 -1
  100. package/dist/providers/plugins/ollama/ollama.template.d.ts.map +1 -1
  101. package/dist/providers/plugins/ollama/ollama.template.js +10 -0
  102. package/dist/providers/plugins/ollama/ollama.template.js.map +1 -1
  103. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sender.js +1 -1
  104. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sender.js.map +1 -1
  105. package/dist/providers/plugins/sso/sso.auth.js +1 -1
  106. package/dist/providers/plugins/sso/sso.auth.js.map +1 -1
  107. package/dist/providers/plugins/sso/sso.http-client.d.ts +1 -1
  108. package/dist/providers/plugins/sso/sso.http-client.js +1 -1
  109. package/dist/providers/plugins/sso/sso.http-client.js.map +1 -1
  110. package/dist/providers/plugins/sso/sso.template.d.ts.map +1 -1
  111. package/dist/providers/plugins/sso/sso.template.js +1 -0
  112. package/dist/providers/plugins/sso/sso.template.js.map +1 -1
  113. package/dist/utils/{config-loader.d.ts → config.d.ts} +6 -1
  114. package/dist/utils/config.d.ts.map +1 -0
  115. package/dist/utils/{config-loader.js → config.js} +30 -4
  116. package/dist/utils/config.js.map +1 -0
  117. package/dist/utils/errors.d.ts +89 -0
  118. package/dist/utils/errors.d.ts.map +1 -1
  119. package/dist/utils/errors.js +340 -0
  120. package/dist/utils/errors.js.map +1 -1
  121. package/dist/utils/exec.d.ts +6 -0
  122. package/dist/utils/exec.d.ts.map +1 -1
  123. package/dist/utils/exec.js +6 -0
  124. package/dist/utils/exec.js.map +1 -1
  125. package/dist/utils/logger.js +3 -3
  126. package/dist/utils/logger.js.map +1 -1
  127. package/dist/utils/{json-parser.d.ts → parsers.d.ts} +1 -1
  128. package/dist/utils/parsers.d.ts.map +1 -0
  129. package/dist/utils/{json-parser.js → parsers.js} +1 -1
  130. package/dist/utils/parsers.js.map +1 -0
  131. package/dist/utils/{path-utils.d.ts → paths.d.ts} +58 -8
  132. package/dist/utils/paths.d.ts.map +1 -0
  133. package/dist/utils/{path-utils.js → paths.js} +81 -8
  134. package/dist/utils/paths.js.map +1 -0
  135. package/dist/utils/{npm.d.ts → processes.d.ts} +42 -7
  136. package/dist/utils/processes.d.ts.map +1 -0
  137. package/dist/utils/{npm.js → processes.js} +123 -9
  138. package/dist/utils/processes.js.map +1 -0
  139. package/dist/utils/profile.d.ts +1 -16
  140. package/dist/utils/profile.d.ts.map +1 -1
  141. package/dist/utils/profile.js +1 -27
  142. package/dist/utils/profile.js.map +1 -1
  143. package/dist/utils/security.d.ts +62 -0
  144. package/dist/utils/security.d.ts.map +1 -0
  145. package/dist/utils/security.js +396 -0
  146. package/dist/utils/security.js.map +1 -0
  147. package/package.json +3 -3
  148. package/dist/utils/config-loader.d.ts.map +0 -1
  149. package/dist/utils/config-loader.js.map +0 -1
  150. package/dist/utils/credential-store.d.ts +0 -22
  151. package/dist/utils/credential-store.d.ts.map +0 -1
  152. package/dist/utils/credential-store.js +0 -165
  153. package/dist/utils/credential-store.js.map +0 -1
  154. package/dist/utils/dirname.d.ts +0 -7
  155. package/dist/utils/dirname.d.ts.map +0 -1
  156. package/dist/utils/dirname.js +0 -11
  157. package/dist/utils/dirname.js.map +0 -1
  158. package/dist/utils/error-context.d.ts +0 -90
  159. package/dist/utils/error-context.d.ts.map +0 -1
  160. package/dist/utils/error-context.js +0 -338
  161. package/dist/utils/error-context.js.map +0 -1
  162. package/dist/utils/first-time.d.ts.map +0 -1
  163. package/dist/utils/first-time.js.map +0 -1
  164. package/dist/utils/git.d.ts +0 -13
  165. package/dist/utils/git.d.ts.map +0 -1
  166. package/dist/utils/git.js +0 -37
  167. package/dist/utils/git.js.map +0 -1
  168. package/dist/utils/installation-id.d.ts +0 -10
  169. package/dist/utils/installation-id.d.ts.map +0 -1
  170. package/dist/utils/installation-id.js +0 -30
  171. package/dist/utils/installation-id.js.map +0 -1
  172. package/dist/utils/json-parser.d.ts.map +0 -1
  173. package/dist/utils/json-parser.js.map +0 -1
  174. package/dist/utils/npm.d.ts.map +0 -1
  175. package/dist/utils/npm.js.map +0 -1
  176. package/dist/utils/path-utils.d.ts.map +0 -1
  177. package/dist/utils/path-utils.js.map +0 -1
  178. package/dist/utils/profile-display.d.ts.map +0 -1
  179. package/dist/utils/profile-display.js.map +0 -1
  180. package/dist/utils/sanitize.d.ts +0 -28
  181. package/dist/utils/sanitize.d.ts.map +0 -1
  182. package/dist/utils/sanitize.js +0 -212
  183. package/dist/utils/sanitize.js.map +0 -1
  184. package/dist/utils/which.d.ts +0 -20
  185. package/dist/utils/which.d.ts.map +0 -1
  186. package/dist/utils/which.js +0 -54
  187. package/dist/utils/which.js.map +0 -1
  188. /package/dist/{utils → cli}/first-time.d.ts +0 -0
@@ -1,10 +1,10 @@
1
1
  import * as fs from 'fs/promises';
2
2
  import * as path from 'path';
3
- import * as os from 'os';
4
3
  import dotenv from 'dotenv';
5
4
  import chalk from 'chalk';
6
5
  import { isMultiProviderConfig, isLegacyConfig } from '../env/types.js';
7
6
  import { ProviderRegistry } from '../providers/index.js';
7
+ import { getCodemieHome, getCodemiePath } from './paths.js';
8
8
  /**
9
9
  * Unified configuration loader with priority system:
10
10
  * CLI args > Env vars > Project config > Global config > Defaults
@@ -14,8 +14,8 @@ import { ProviderRegistry } from '../providers/index.js';
14
14
  * - Multi-provider profiles (version 2)
15
15
  */
16
16
  export class ConfigLoader {
17
- static GLOBAL_CONFIG_DIR = path.join(os.homedir(), '.codemie');
18
- static GLOBAL_CONFIG = path.join(ConfigLoader.GLOBAL_CONFIG_DIR, 'codemie-cli.config.json');
17
+ static GLOBAL_CONFIG_DIR = getCodemieHome();
18
+ static GLOBAL_CONFIG = getCodemiePath('codemie-cli.config.json');
19
19
  static LOCAL_CONFIG = '.codemie/codemie-cli.config.json';
20
20
  // Cache for multi-provider config
21
21
  static multiProviderCache = null;
@@ -583,4 +583,30 @@ export class ConfigLoader {
583
583
  return env;
584
584
  }
585
585
  }
586
- //# sourceMappingURL=config-loader.js.map
586
+ // ============================================================================
587
+ // Installation ID Management
588
+ // ============================================================================
589
+ import { randomUUID } from 'node:crypto';
590
+ const INSTALLATION_ID_PATH = getCodemiePath('installation-id');
591
+ /**
592
+ * Get or create installation ID
593
+ * Returns a persistent UUID that uniquely identifies this CodeMie installation
594
+ */
595
+ export async function getInstallationId() {
596
+ try {
597
+ // Try to read existing ID
598
+ const { readFile } = await import('node:fs/promises');
599
+ const id = await readFile(INSTALLATION_ID_PATH, 'utf-8');
600
+ return id.trim();
601
+ }
602
+ catch {
603
+ // Generate new ID if file doesn't exist
604
+ const id = randomUUID();
605
+ // Save for future use (directory already exists via getCodemiePath)
606
+ const { writeFile, mkdir } = await import('node:fs/promises');
607
+ await mkdir(getCodemieHome(), { recursive: true });
608
+ await writeFile(INSTALLATION_ID_PATH, id, 'utf-8');
609
+ return id;
610
+ }
611
+ }
612
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
@@ -47,4 +47,93 @@ export declare function parseNpmError(error: unknown, context: string): NpmError
47
47
  * @returns Error message as string
48
48
  */
49
49
  export declare function getErrorMessage(error: unknown): string;
50
+ /**
51
+ * Comprehensive error context for debugging
52
+ */
53
+ export interface ErrorContext {
54
+ error: {
55
+ message: string;
56
+ name: string;
57
+ stack?: string;
58
+ code?: string;
59
+ };
60
+ system: {
61
+ platform: string;
62
+ platformVersion: string;
63
+ arch: string;
64
+ nodeVersion: string;
65
+ };
66
+ client: {
67
+ name: string;
68
+ version: string;
69
+ };
70
+ session?: {
71
+ sessionId?: string;
72
+ agent?: string;
73
+ provider?: string;
74
+ model?: string;
75
+ profile?: string;
76
+ };
77
+ timestamp: string;
78
+ }
79
+ /**
80
+ * Create comprehensive error context for logging and debugging
81
+ *
82
+ * @param error - The error that occurred
83
+ * @param sessionContext - Optional session context (session ID, agent, provider, etc.)
84
+ * @returns Complete error context with system info, client version, and stack trace
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * try {
89
+ * await writeMetrics();
90
+ * } catch (error) {
91
+ * const context = createErrorContext(error, { sessionId, agent: 'claude' });
92
+ * logger.error('Metrics write failed', context);
93
+ * }
94
+ * ```
95
+ */
96
+ export declare function createErrorContext(error: unknown, sessionContext?: ErrorContext['session']): ErrorContext;
97
+ /**
98
+ * Format error context as human-readable string for console display
99
+ *
100
+ * @param context - Error context to format
101
+ * @param options - Formatting options
102
+ * @returns Formatted error message
103
+ *
104
+ * @example
105
+ * ```typescript
106
+ * const context = createErrorContext(error, { sessionId });
107
+ * console.error(formatErrorForUser(context, { showStack: false }));
108
+ * ```
109
+ */
110
+ export declare function formatErrorForUser(context: ErrorContext, options?: {
111
+ showStack?: boolean;
112
+ showSystem?: boolean;
113
+ }): string;
114
+ /**
115
+ * Format error context as JSON for logging to file
116
+ *
117
+ * @param context - Error context to format
118
+ * @returns JSON string with full error details
119
+ */
120
+ export declare function formatErrorForLog(context: ErrorContext): string;
121
+ /**
122
+ * Create user-friendly explanation for common error types
123
+ *
124
+ * @param error - The error that occurred
125
+ * @returns Human-readable explanation and suggested actions
126
+ */
127
+ export declare function getErrorExplanation(error: unknown): {
128
+ explanation: string;
129
+ suggestions: string[];
130
+ };
131
+ /**
132
+ * Format error with explanation for user display
133
+ *
134
+ * @param error - The error that occurred
135
+ * @param sessionContext - Optional session context
136
+ * @returns Formatted error message with explanation
137
+ */
138
+ export declare function formatErrorWithExplanation(error: unknown, sessionContext?: ErrorContext['session']): string;
50
139
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,kBAAmB,SAAQ,YAAY;gBACtC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,kBAAmB,SAAQ,YAAY;gBACtC,SAAS,EAAE,MAAM;CAI9B;AAED,qBAAa,sBAAuB,SAAQ,YAAY;gBAC1C,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAI9C;AAED,qBAAa,kBAAmB,SAAQ,YAAY;gBACtC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAI7C;AAED,qBAAa,iBAAkB,SAAQ,YAAY;gBACrC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAIzC;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,YAAY;IAG/B,IAAI,EAAE,YAAY;IAClB,aAAa,CAAC,EAAE,KAAK;gBAF5B,OAAO,EAAE,MAAM,EACR,IAAI,EAAE,YAAY,EAClB,aAAa,CAAC,EAAE,KAAK,YAAA;CAK/B;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,CA6CvE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKtD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
@@ -109,4 +109,344 @@ export function getErrorMessage(error) {
109
109
  }
110
110
  return String(error);
111
111
  }
112
+ // ============================================================================
113
+ // Error Context and Formatting
114
+ // ============================================================================
115
+ import { platform, release, arch } from 'os';
116
+ import { readFileSync } from 'fs';
117
+ import { join } from 'path';
118
+ import { fileURLToPath } from 'url';
119
+ import { dirname } from 'path';
120
+ const __filename = fileURLToPath(import.meta.url);
121
+ const __dirname = dirname(__filename);
122
+ /**
123
+ * Get client version from package.json
124
+ */
125
+ function getClientVersion() {
126
+ try {
127
+ // Try to read package.json from project root
128
+ const packageJsonPath = join(__dirname, '..', '..', 'package.json');
129
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
130
+ return packageJson.version || 'unknown';
131
+ }
132
+ catch {
133
+ return 'unknown';
134
+ }
135
+ }
136
+ /**
137
+ * Get detailed OS information
138
+ */
139
+ function getSystemInfo() {
140
+ return {
141
+ platform: platform(),
142
+ platformVersion: release(),
143
+ arch: arch(),
144
+ nodeVersion: process.version
145
+ };
146
+ }
147
+ /**
148
+ * Extract error details from unknown error type
149
+ */
150
+ function extractErrorDetails(error) {
151
+ if (error instanceof Error) {
152
+ return {
153
+ message: error.message,
154
+ name: error.name,
155
+ stack: error.stack,
156
+ code: error.code
157
+ };
158
+ }
159
+ if (typeof error === 'string') {
160
+ return {
161
+ message: error,
162
+ name: 'Error',
163
+ stack: new Error(error).stack
164
+ };
165
+ }
166
+ // Handle objects (extract meaningful info)
167
+ if (typeof error === 'object' && error !== null) {
168
+ const errorObj = error;
169
+ let message;
170
+ if (typeof errorObj.message === 'string' && errorObj.message.trim()) {
171
+ message = errorObj.message;
172
+ }
173
+ else if (typeof errorObj.error === 'string' && errorObj.error.trim()) {
174
+ message = errorObj.error;
175
+ }
176
+ else if (typeof errorObj.description === 'string' && errorObj.description.trim()) {
177
+ message = errorObj.description;
178
+ }
179
+ else {
180
+ try {
181
+ const stringified = JSON.stringify(error, null, 2);
182
+ if (stringified && stringified !== '{}' && stringified !== '[object Object]') {
183
+ message = stringified;
184
+ }
185
+ else {
186
+ message = `Error object: ${Object.keys(errorObj).join(', ')}`;
187
+ }
188
+ }
189
+ catch {
190
+ message = `Error object: ${Object.keys(errorObj).join(', ')}`;
191
+ }
192
+ }
193
+ const name = (typeof errorObj.name === 'string' ? errorObj.name : null) || 'UnknownError';
194
+ const code = (typeof errorObj.code === 'string' ? errorObj.code : undefined);
195
+ const stack = (typeof errorObj.stack === 'string' ? errorObj.stack : undefined) || new Error(message).stack;
196
+ return {
197
+ message,
198
+ name,
199
+ stack,
200
+ code
201
+ };
202
+ }
203
+ // Fallback for primitives
204
+ const message = String(error);
205
+ return {
206
+ message,
207
+ name: 'UnknownError',
208
+ stack: new Error(message).stack
209
+ };
210
+ }
211
+ /**
212
+ * Create comprehensive error context for logging and debugging
213
+ *
214
+ * @param error - The error that occurred
215
+ * @param sessionContext - Optional session context (session ID, agent, provider, etc.)
216
+ * @returns Complete error context with system info, client version, and stack trace
217
+ *
218
+ * @example
219
+ * ```typescript
220
+ * try {
221
+ * await writeMetrics();
222
+ * } catch (error) {
223
+ * const context = createErrorContext(error, { sessionId, agent: 'claude' });
224
+ * logger.error('Metrics write failed', context);
225
+ * }
226
+ * ```
227
+ */
228
+ export function createErrorContext(error, sessionContext) {
229
+ return {
230
+ error: extractErrorDetails(error),
231
+ system: getSystemInfo(),
232
+ client: {
233
+ name: 'codemie-code',
234
+ version: getClientVersion()
235
+ },
236
+ session: sessionContext,
237
+ timestamp: new Date().toISOString()
238
+ };
239
+ }
240
+ /**
241
+ * Wrap text to a maximum line length
242
+ */
243
+ function wrapText(text, maxLength, indent = '') {
244
+ const words = text.split(' ');
245
+ const lines = [];
246
+ let currentLine = indent;
247
+ for (const word of words) {
248
+ const testLine = currentLine + (currentLine === indent ? '' : ' ') + word;
249
+ if (testLine.length <= maxLength) {
250
+ currentLine = testLine;
251
+ }
252
+ else {
253
+ if (currentLine !== indent) {
254
+ lines.push(currentLine);
255
+ }
256
+ currentLine = indent + word;
257
+ }
258
+ }
259
+ if (currentLine !== indent) {
260
+ lines.push(currentLine);
261
+ }
262
+ return lines;
263
+ }
264
+ /**
265
+ * Format error context as human-readable string for console display
266
+ *
267
+ * @param context - Error context to format
268
+ * @param options - Formatting options
269
+ * @returns Formatted error message
270
+ *
271
+ * @example
272
+ * ```typescript
273
+ * const context = createErrorContext(error, { sessionId });
274
+ * console.error(formatErrorForUser(context, { showStack: false }));
275
+ * ```
276
+ */
277
+ export function formatErrorForUser(context, options = {}) {
278
+ const { showStack = false, showSystem = true } = options;
279
+ const lines = [];
280
+ // Error message (just the message, not the name) - wrapped at 100 chars
281
+ const wrappedError = wrapText(context.error.message, 97, ' '); // 97 to account for "❌ " prefix
282
+ lines.push(`❌ ${wrappedError[0].trim()}`);
283
+ for (let i = 1; i < wrappedError.length; i++) {
284
+ lines.push(wrappedError[i]);
285
+ }
286
+ // System info (for support/debugging)
287
+ if (showSystem) {
288
+ lines.push('');
289
+ lines.push('System Information:');
290
+ lines.push(` • OS: ${context.system.platform} ${context.system.platformVersion} (${context.system.arch})`);
291
+ lines.push(` • Node.js: ${context.system.nodeVersion}`);
292
+ lines.push(` • CodeMie CLI: v${context.client.version}`);
293
+ }
294
+ // Session context (if available)
295
+ if (context.session) {
296
+ lines.push('');
297
+ lines.push('Session Information:');
298
+ if (context.session.sessionId) {
299
+ lines.push(` • Session ID: ${context.session.sessionId}`);
300
+ }
301
+ if (context.session.agent) {
302
+ lines.push(` • Agent: ${context.session.agent}`);
303
+ }
304
+ if (context.session.provider) {
305
+ lines.push(` • Provider: ${context.session.provider}`);
306
+ }
307
+ if (context.session.model) {
308
+ lines.push(` • Model: ${context.session.model}`);
309
+ }
310
+ if (context.session.profile) {
311
+ lines.push(` • Profile: ${context.session.profile}`);
312
+ }
313
+ }
314
+ // Stack trace (for debugging)
315
+ if (showStack && context.error.stack) {
316
+ lines.push('');
317
+ lines.push('Stack Trace:');
318
+ lines.push(context.error.stack);
319
+ }
320
+ // Timestamp
321
+ lines.push('');
322
+ lines.push(`Timestamp: ${context.timestamp}`);
323
+ return lines.join('\n');
324
+ }
325
+ /**
326
+ * Format error context as JSON for logging to file
327
+ *
328
+ * @param context - Error context to format
329
+ * @returns JSON string with full error details
330
+ */
331
+ export function formatErrorForLog(context) {
332
+ return JSON.stringify(context, null, 2);
333
+ }
334
+ /**
335
+ * Create user-friendly explanation for common error types
336
+ *
337
+ * @param error - The error that occurred
338
+ * @returns Human-readable explanation and suggested actions
339
+ */
340
+ export function getErrorExplanation(error) {
341
+ const errorDetails = extractErrorDetails(error);
342
+ const message = errorDetails.message.toLowerCase();
343
+ const code = errorDetails.code?.toUpperCase();
344
+ // File system errors - metrics specific context
345
+ if (code === 'ENOENT') {
346
+ return {
347
+ explanation: 'Unable to access metrics storage directory. The agent will work, but you\'re missing important features: token usage tracking, cost monitoring, session history, and usage analytics. This limits your ability to optimize and monitor your AI usage.',
348
+ suggestions: [
349
+ 'Without metrics: No token tracking, no usage insights, no session history',
350
+ 'To enable these features: Check if ~/.codemie/metrics/ directory exists',
351
+ 'Ensure you have proper file system permissions'
352
+ ]
353
+ };
354
+ }
355
+ if (code === 'EACCES' || code === 'EPERM') {
356
+ return {
357
+ explanation: 'Cannot write to metrics directory due to permissions. The agent will work, but important features are disabled: token tracking (you won\'t know your costs), usage analytics (can\'t optimize), and session history (can\'t review past work). We recommend fixing this.',
358
+ suggestions: [
359
+ 'You\'re missing: Token/cost tracking, usage insights, session history',
360
+ 'To enable these features: Fix file permissions on ~/.codemie/ directory',
361
+ 'Run: chmod -R u+w ~/.codemie/ to restore access'
362
+ ]
363
+ };
364
+ }
365
+ if (code === 'ENOSPC') {
366
+ return {
367
+ explanation: 'Insufficient disk space for metrics storage. The agent will work, but critical features are unavailable: you cannot track token usage, monitor costs, view session history, or access usage insights until space is freed.',
368
+ suggestions: [
369
+ 'You\'re missing: Token/cost tracking, usage insights, session history',
370
+ 'Free up disk space to enable these important features',
371
+ 'Clean up old log files: ~/.codemie/logs/ or other unnecessary files'
372
+ ]
373
+ };
374
+ }
375
+ // Network errors
376
+ if (message.includes('timeout') || code === 'ETIMEDOUT') {
377
+ return {
378
+ explanation: 'Network timeout during metrics sync. The agent will work, but your usage data isn\'t being synced to the server. You\'ll lose visibility into token usage, costs, and session history across devices or for team analytics.',
379
+ suggestions: [
380
+ 'You\'re missing: Cross-device sync, team analytics, historical usage data',
381
+ 'Check your internet connection to restore sync',
382
+ 'Local metrics will sync automatically when connection is restored'
383
+ ]
384
+ };
385
+ }
386
+ if (message.includes('econnrefused') || code === 'ECONNREFUSED') {
387
+ return {
388
+ explanation: 'Cannot connect to analytics server. The agent will work, but you\'re losing important tracking: no token usage monitoring, no cost tracking, no session history. You won\'t be able to optimize your AI usage or track expenses.',
389
+ suggestions: [
390
+ 'You\'re missing: Token/cost tracking, session history, usage optimization',
391
+ 'Check if the analytics service is running and accessible',
392
+ 'Verify your network and firewall settings allow connections'
393
+ ]
394
+ };
395
+ }
396
+ // Metrics-specific errors
397
+ if (message.includes('metric') || message.includes('session')) {
398
+ return {
399
+ explanation: 'Unable to store usage analytics. The agent will work, but you cannot track tokens, monitor costs, view session history, or access usage insights. This is a significant disadvantage for managing AI usage and expenses.',
400
+ suggestions: [
401
+ 'You\'re missing: Token/cost tracking, usage insights, session history',
402
+ 'To enable these important features: Check ~/.codemie/metrics/ directory permissions',
403
+ 'These features help you optimize usage and control costs'
404
+ ]
405
+ };
406
+ }
407
+ // Generic error
408
+ return {
409
+ explanation: 'Metrics collection encountered an issue. The agent will work, but important features are unavailable: token tracking, cost monitoring, usage analytics, and session history. You won\'t be able to optimize your AI usage or track expenses.',
410
+ suggestions: [
411
+ 'You\'re missing: Token/cost tracking, usage insights, session history',
412
+ 'These features are important for monitoring and optimizing AI usage',
413
+ 'See log details below for technical information to resolve this'
414
+ ]
415
+ };
416
+ }
417
+ /**
418
+ * Format error with explanation for user display
419
+ *
420
+ * @param error - The error that occurred
421
+ * @param sessionContext - Optional session context
422
+ * @returns Formatted error message with explanation
423
+ */
424
+ export function formatErrorWithExplanation(error, sessionContext) {
425
+ const context = createErrorContext(error, sessionContext);
426
+ const { explanation, suggestions } = getErrorExplanation(error);
427
+ const lines = [];
428
+ // Explanation first (user-friendly) - wrapped at 100 chars
429
+ const wrappedExplanation = wrapText(explanation, 97, ' '); // 97 to account for "💡 " prefix
430
+ lines.push(`💡 ${wrappedExplanation[0].trim()}`);
431
+ for (let i = 1; i < wrappedExplanation.length; i++) {
432
+ lines.push(wrappedExplanation[i]);
433
+ }
434
+ lines.push('');
435
+ // Technical error details
436
+ lines.push(formatErrorForUser(context, { showStack: false, showSystem: true }));
437
+ // Suggestions
438
+ if (suggestions.length > 0) {
439
+ lines.push('');
440
+ lines.push('Suggested actions:');
441
+ suggestions.forEach(suggestion => {
442
+ // Wrap each suggestion at 100 chars, accounting for " • " prefix
443
+ const wrappedSuggestion = wrapText(suggestion, 96, ' '); // 96 to account for " • " prefix
444
+ lines.push(` • ${wrappedSuggestion[0].trim()}`);
445
+ for (let i = 1; i < wrappedSuggestion.length; i++) {
446
+ lines.push(wrappedSuggestion[i]);
447
+ }
448
+ });
449
+ }
450
+ return lines.join('\n');
451
+ }
112
452
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Base Command Execution Utility
3
+ *
4
+ * Foundational cross-platform command execution that other process utilities build upon.
5
+ * Separated from higher-level utilities to enable proper testing and mocking.
6
+ */
1
7
  export interface ExecOptions {
2
8
  cwd?: string;
3
9
  env?: Record<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/utils/exec.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAsB,IAAI,CACxB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC,CA6ErB"}
1
+ {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/utils/exec.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAsB,IAAI,CACxB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC,CA6ErB"}
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Base Command Execution Utility
3
+ *
4
+ * Foundational cross-platform command execution that other process utilities build upon.
5
+ * Separated from higher-level utilities to enable proper testing and mocking.
6
+ */
1
7
  import { spawn } from 'child_process';
2
8
  import os from 'os';
3
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/utils/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,IAAI,CAAC;AAgBpB;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,OAAe,EACf,OAAiB,EAAE,EACnB,UAAuB,EAAE;IAEzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC;QAE5C,mCAAmC;QACnC,6CAA6C;QAC7C,0EAA0E;QAC1E,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,CAAC;QAED,mDAAmD;QACnD,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAEvD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YACjC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;YACjC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;YACvC,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,SAAS,EAAE,iCAAiC;YACzD,KAAK;SACN,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,SAAS,GAA0B,IAAI,CAAC;QAE5C,6DAA6D;QAC7D,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,SAAS,EAAE,CAAC;gBACd,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;QACH,CAAC,CAAC;QAEF,iDAAiD;QACjD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,OAAO,EAAE,CAAC;YAEV,MAAM,MAAM,GAAG;gBACb,IAAI,EAAE,IAAI,IAAI,CAAC;gBACf,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;gBACrB,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;aACtB,CAAC;YAEF,qDAAqD;YACrD,oEAAoE;YACpE,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1B,KAAK,CAAC,IAAI,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;YACpE,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/utils/exec.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import chalk from 'chalk';
2
2
  import * as fs from 'fs';
3
3
  import * as path from 'path';
4
- import * as os from 'os';
5
- import { sanitizeLogArgs } from './sanitize.js';
4
+ import { sanitizeLogArgs } from './security.js';
5
+ import { getCodemiePath } from './paths.js';
6
6
  export var LogLevel;
7
7
  (function (LogLevel) {
8
8
  LogLevel["DEBUG"] = "debug";
@@ -51,7 +51,7 @@ class Logger {
51
51
  if (this.logFileInitialized)
52
52
  return;
53
53
  try {
54
- const logsDir = path.join(os.homedir(), '.codemie', 'logs');
54
+ const logsDir = getCodemiePath('logs');
55
55
  // Create directory synchronously
56
56
  if (!fs.existsSync(logsDir)) {
57
57
  fs.mkdirSync(logsDir, { recursive: true });