@tekdi/coding-analytics 1.0.1 → 1.0.3

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 (62) hide show
  1. package/dist/analysis/analysis-prompt.d.ts +97 -0
  2. package/dist/analysis/analysis-prompt.d.ts.map +1 -0
  3. package/dist/analysis/analysis-prompt.js +312 -0
  4. package/dist/analysis/analysis-prompt.js.map +1 -0
  5. package/dist/analysis/feedback-aggregator.d.ts +15 -0
  6. package/dist/analysis/feedback-aggregator.d.ts.map +1 -0
  7. package/dist/analysis/feedback-aggregator.js +142 -0
  8. package/dist/analysis/feedback-aggregator.js.map +1 -0
  9. package/dist/analysis/llm-provider.d.ts +9 -0
  10. package/dist/analysis/llm-provider.d.ts.map +1 -0
  11. package/dist/analysis/llm-provider.js +23 -0
  12. package/dist/analysis/llm-provider.js.map +1 -0
  13. package/dist/analysis/providers/claude-provider.d.ts +11 -0
  14. package/dist/analysis/providers/claude-provider.d.ts.map +1 -0
  15. package/dist/analysis/providers/claude-provider.js +74 -0
  16. package/dist/analysis/providers/claude-provider.js.map +1 -0
  17. package/dist/analysis/providers/gemini-provider.d.ts +11 -0
  18. package/dist/analysis/providers/gemini-provider.d.ts.map +1 -0
  19. package/dist/analysis/providers/gemini-provider.js +58 -0
  20. package/dist/analysis/providers/gemini-provider.js.map +1 -0
  21. package/dist/analysis/providers/openai-provider.d.ts +11 -0
  22. package/dist/analysis/providers/openai-provider.d.ts.map +1 -0
  23. package/dist/analysis/providers/openai-provider.js +66 -0
  24. package/dist/analysis/providers/openai-provider.js.map +1 -0
  25. package/dist/analysis/providers/parse-helper.d.ts +7 -0
  26. package/dist/analysis/providers/parse-helper.d.ts.map +1 -0
  27. package/dist/analysis/providers/parse-helper.js +27 -0
  28. package/dist/analysis/providers/parse-helper.js.map +1 -0
  29. package/dist/analysis/session-analyzer.d.ts +8 -0
  30. package/dist/analysis/session-analyzer.d.ts.map +1 -0
  31. package/dist/analysis/session-analyzer.js +115 -0
  32. package/dist/analysis/session-analyzer.js.map +1 -0
  33. package/dist/analysis/session-builder.d.ts +19 -0
  34. package/dist/analysis/session-builder.d.ts.map +1 -0
  35. package/dist/analysis/session-builder.js +174 -0
  36. package/dist/analysis/session-builder.js.map +1 -0
  37. package/dist/analysis/types.d.ts +94 -0
  38. package/dist/analysis/types.d.ts.map +1 -0
  39. package/dist/analysis/types.js +3 -0
  40. package/dist/analysis/types.js.map +1 -0
  41. package/dist/artifact-extractor.d.ts +55 -0
  42. package/dist/artifact-extractor.d.ts.map +1 -0
  43. package/dist/artifact-extractor.js +146 -0
  44. package/dist/artifact-extractor.js.map +1 -0
  45. package/dist/claude-hooks-receiver.d.ts +9 -0
  46. package/dist/claude-hooks-receiver.d.ts.map +1 -1
  47. package/dist/claude-hooks-receiver.js +175 -2
  48. package/dist/claude-hooks-receiver.js.map +1 -1
  49. package/dist/cli.js +242 -0
  50. package/dist/cli.js.map +1 -1
  51. package/dist/config.d.ts +13 -0
  52. package/dist/config.d.ts.map +1 -1
  53. package/dist/config.js +14 -0
  54. package/dist/config.js.map +1 -1
  55. package/dist/enricher.d.ts +3 -2
  56. package/dist/enricher.d.ts.map +1 -1
  57. package/dist/enricher.js +91 -36
  58. package/dist/enricher.js.map +1 -1
  59. package/dist/logger.d.ts.map +1 -1
  60. package/dist/logger.js +16 -8
  61. package/dist/logger.js.map +1 -1
  62. package/package.json +10 -4
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,qBAAa,MAAM;IACV,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;gBAEhB,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC;IAoCtC,MAAM,CAAC,UAAU,IAAI,MAAM;IAK3B,MAAM,CAAC,aAAa,IAAI,MAAM;IAI9B,MAAM,CAAC,IAAI,IAAI,MAAM;IAmBrB,IAAI,IAAI,IAAI;IAYZ,MAAM,IAAI,UAAU;IAUpB,YAAY,IAAI,OAAO;CAGxB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,qBAAa,MAAM;IACV,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,cAAc,CAAC;gBAEpB,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC;IAkDtC,MAAM,CAAC,UAAU,IAAI,MAAM;IAK3B,MAAM,CAAC,aAAa,IAAI,MAAM;IAI9B,MAAM,CAAC,IAAI,IAAI,MAAM;IAmBrB,IAAI,IAAI,IAAI;IAYZ,MAAM,IAAI,UAAU;IAWpB,YAAY,IAAI,OAAO;CAGxB"}
package/dist/config.js CHANGED
@@ -52,6 +52,9 @@ class Config {
52
52
  fileContent: data?.capture?.fileContent ?? false,
53
53
  filePaths: data?.capture?.filePaths ?? true,
54
54
  agentThinking: data?.capture?.agentThinking ?? true,
55
+ // Skill / subagent / slash-command name capture. Names are not secrets,
56
+ // so this is independent of `prompts`. Defaults on — adoption telemetry.
57
+ skills: data?.capture?.skills ?? true,
55
58
  };
56
59
  this.privacy = {
57
60
  hashUserIds: data?.privacy?.hashUserIds ?? true,
@@ -68,6 +71,16 @@ class Config {
68
71
  logLevel: data?.system?.logLevel || 'info',
69
72
  logPath: data?.system?.logPath || path.join(Config.getDataDir(), 'logs'),
70
73
  };
74
+ this.analysis = {
75
+ provider: data?.analysis?.provider || 'claude',
76
+ model: data?.analysis?.model || '',
77
+ apiKey: data?.analysis?.apiKey || '',
78
+ maxOutputTokens: data?.analysis?.maxOutputTokens || 16000,
79
+ posthogQueryApiKey: data?.analysis?.posthogQueryApiKey || '',
80
+ posthogProjectId: data?.analysis?.posthogProjectId || '',
81
+ posthogQueryHost: data?.analysis?.posthogQueryHost || 'https://eu.posthog.com',
82
+ maxSessionsPerReport: data?.analysis?.maxSessionsPerReport || 10,
83
+ };
71
84
  }
72
85
  static getDataDir() {
73
86
  const homeDir = os.homedir();
@@ -109,6 +122,7 @@ class Config {
109
122
  privacy: this.privacy,
110
123
  storage: this.storage,
111
124
  system: this.system,
125
+ analysis: this.analysis,
112
126
  };
113
127
  }
114
128
  isConfigured() {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { Config } from './config';
2
- import { HookEvent } from './hooks-listener';
1
+ import { Config } from "./config";
2
+ import { HookEvent } from "./hooks-listener";
3
3
  export interface EnrichedEvent {
4
4
  event: string;
5
5
  distinct_id: string;
@@ -22,6 +22,7 @@ export declare class Enricher {
22
22
  private getCursorVersion;
23
23
  private getUserId;
24
24
  private getClaudeAccountUuid;
25
+ private getClaudeEmail;
25
26
  private getCursorEmail;
26
27
  private getCursorDbPath;
27
28
  private getMachineId;
@@ -1 +1 @@
1
- {"version":3,"file":"enricher.d.ts","sourceRoot":"","sources":["../enricher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAU7C,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,eAAe,CAAuB;IAE9C,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,cAAc,CAAwB;gBAElC,MAAM,EAAE,MAAM;IAIpB,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;YA2D5C,aAAa;YASb,eAAe;IA2D7B,OAAO,CAAC,eAAe;YAQT,gBAAgB;YAUhB,gBAAgB;YAqBhB,SAAS;IAqCvB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,eAAe;YA0BT,YAAY;YAcZ,cAAc;IAgB5B,OAAO,CAAC,IAAI;CAGb"}
1
+ {"version":3,"file":"enricher.d.ts","sourceRoot":"","sources":["../enricher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAqB7C,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,eAAe,CAAuB;IAE9C,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,cAAc,CAAwB;gBAElC,MAAM,EAAE,MAAM;IAIpB,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;YA6E5C,aAAa;YAWb,eAAe;IA6D7B,OAAO,CAAC,eAAe;YAQT,gBAAgB;YAUhB,gBAAgB;YA4BhB,SAAS;IA6CvB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,eAAe;YAsDT,YAAY;YAcZ,cAAc;IAuB5B,OAAO,CAAC,IAAI;CAOb"}
package/dist/enricher.js CHANGED
@@ -45,6 +45,17 @@ const crypto = __importStar(require("crypto"));
45
45
  const fs = __importStar(require("fs"));
46
46
  const path = __importStar(require("path"));
47
47
  const child_process_1 = require("child_process");
48
+ // Read package version once at module load
49
+ const packageVersion = (() => {
50
+ try {
51
+ const pkgPath = path.join(__dirname, "..", "package.json");
52
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf-8"));
53
+ return pkg.version ?? "unknown";
54
+ }
55
+ catch {
56
+ return "unknown";
57
+ }
58
+ })();
48
59
  class Enricher {
49
60
  constructor(config) {
50
61
  this.cachedUserId = null;
@@ -59,9 +70,20 @@ class Enricher {
59
70
  const properties = {
60
71
  ...hookEvent.data,
61
72
  };
62
- // Add git context — Claude hooks don't supply workspace_path so fall back to cwd
63
- const workspacePath = hookEvent.data.workspace_path || hookEvent.data.cwd ||
64
- (hookEvent.provider === 'claude' ? process.cwd() : undefined);
73
+ // For Claude events, resolve user_email from ~/.claude.json if not already set
74
+ if (hookEvent.provider === "claude" && !hookEvent.data.user_email) {
75
+ const claudeEmail = this.getClaudeEmail();
76
+ if (claudeEmail) {
77
+ properties.user_email = claudeEmail;
78
+ }
79
+ }
80
+ // Add git context — resolve workspace path from provider-specific fields
81
+ const workspacePath = hookEvent.data.workspace_path ||
82
+ hookEvent.data.cwd ||
83
+ (Array.isArray(hookEvent.data.workspace_roots) && hookEvent.data.workspace_roots.length > 0
84
+ ? hookEvent.data.workspace_roots[0]
85
+ : undefined) ||
86
+ process.cwd();
65
87
  if (workspacePath) {
66
88
  const gitContext = await this.getGitContext(workspacePath);
67
89
  Object.assign(properties, gitContext);
@@ -79,7 +101,9 @@ class Enricher {
79
101
  Object.assign(properties, gitUser);
80
102
  // Add prompt quality analysis
81
103
  const promptText = hookEvent.data.prompt;
82
- if (promptText && typeof promptText === 'string' && promptText !== '[redacted]') {
104
+ if (promptText &&
105
+ typeof promptText === "string" &&
106
+ promptText !== "[redacted]") {
83
107
  const analysis = this.promptAnalyzer.analyze(promptText);
84
108
  Object.assign(properties, {
85
109
  prompt_word_count: analysis.word_count,
@@ -94,14 +118,15 @@ class Enricher {
94
118
  prompt_missing_dimensions: analysis.missing_dimensions,
95
119
  });
96
120
  }
97
- // Get user ID — use email from hook payload if provided (Cursor sends it directly)
98
- const userId = await this.getUserId(hookEvent.data?.user_email);
121
+ // Get user ID — use email from hook payload or resolved Claude email
122
+ const userId = await this.getUserId(properties.user_email);
99
123
  return {
100
124
  event: hookEvent.type,
101
125
  distinct_id: userId,
102
126
  properties: {
103
127
  ...properties,
104
- provider: hookEvent.provider ?? 'cursor',
128
+ provider: hookEvent.provider ?? "cursor",
129
+ analytics_version: packageVersion,
105
130
  },
106
131
  timestamp: hookEvent.timestamp,
107
132
  };
@@ -126,7 +151,7 @@ class Enricher {
126
151
  const branch = await git.branchLocal();
127
152
  // Get remote URL
128
153
  const remotes = await git.getRemotes(true);
129
- const origin = remotes.find(r => r.name === 'origin');
154
+ const origin = remotes.find((r) => r.name === "origin");
130
155
  // Get last commit
131
156
  const log = await git.log({ n: 1 });
132
157
  const lastCommit = log.latest;
@@ -135,18 +160,18 @@ class Enricher {
135
160
  // Extract repo name from remote
136
161
  const repository = origin?.refs?.fetch
137
162
  ? this.extractRepoName(origin.refs.fetch)
138
- : 'unknown';
163
+ : "unknown";
139
164
  // Privacy: Check if repo is allowed
140
165
  if (this.config.privacy.allowedRepos.length > 0) {
141
- const allowed = this.config.privacy.allowedRepos.some(pattern => {
142
- const regex = new RegExp(pattern.replace('*', '.*'));
166
+ const allowed = this.config.privacy.allowedRepos.some((pattern) => {
167
+ const regex = new RegExp(pattern.replace("*", ".*"));
143
168
  return regex.test(repository);
144
169
  });
145
170
  if (!allowed) {
146
171
  return {
147
172
  git_enabled: true,
148
- repository: '[filtered]',
149
- branch: '[filtered]',
173
+ repository: "[filtered]",
174
+ branch: "[filtered]",
150
175
  };
151
176
  }
152
177
  }
@@ -184,19 +209,19 @@ class Enricher {
184
209
  try {
185
210
  // Try to read Cursor version from common locations
186
211
  const cursorPaths = [
187
- path.join(os.homedir(), '.cursor', 'version'),
188
- path.join(os.homedir(), 'AppData', 'Local', 'Programs', 'Cursor', 'version'), // Windows
189
- '/Applications/Cursor.app/Contents/Resources/app/version', // Mac
212
+ path.join(os.homedir(), ".cursor", "version"),
213
+ path.join(os.homedir(), "AppData", "Local", "Programs", "Cursor", "version"), // Windows
214
+ "/Applications/Cursor.app/Contents/Resources/app/version", // Mac
190
215
  ];
191
216
  for (const versionPath of cursorPaths) {
192
217
  if (fs.existsSync(versionPath)) {
193
- return fs.readFileSync(versionPath, 'utf-8').trim();
218
+ return fs.readFileSync(versionPath, "utf-8").trim();
194
219
  }
195
220
  }
196
- return 'unknown';
221
+ return "unknown";
197
222
  }
198
223
  catch {
199
- return 'unknown';
224
+ return "unknown";
200
225
  }
201
226
  }
202
227
  async getUserId(emailHint) {
@@ -205,7 +230,9 @@ class Enricher {
205
230
  }
206
231
  // 0. Email supplied directly by the hook payload (Cursor provides user_email)
207
232
  if (emailHint) {
208
- this.cachedUserId = this.config.privacy.hashUserIds ? this.hash(emailHint) : emailHint;
233
+ this.cachedUserId = this.config.privacy.hashUserIds
234
+ ? this.hash(emailHint)
235
+ : emailHint;
209
236
  return this.cachedUserId;
210
237
  }
211
238
  // 1. Claude account UUID — stable, already opaque, no hashing needed
@@ -217,14 +244,18 @@ class Enricher {
217
244
  // 2. Cursor cached email from state.vscdb
218
245
  const cursorEmail = this.getCursorEmail();
219
246
  if (cursorEmail) {
220
- this.cachedUserId = this.config.privacy.hashUserIds ? this.hash(cursorEmail) : cursorEmail;
247
+ this.cachedUserId = this.config.privacy.hashUserIds
248
+ ? this.hash(cursorEmail)
249
+ : cursorEmail;
221
250
  return this.cachedUserId;
222
251
  }
223
252
  // 3. Git global email
224
253
  try {
225
254
  const git = (0, simple_git_1.default)();
226
- const email = (await git.raw(['config', '--global', 'user.email'])).trim();
227
- this.cachedUserId = this.config.privacy.hashUserIds ? this.hash(email) : email;
255
+ const email = (await git.raw(["config", "--global", "user.email"])).trim();
256
+ this.cachedUserId = this.config.privacy.hashUserIds
257
+ ? this.hash(email)
258
+ : email;
228
259
  return this.cachedUserId;
229
260
  }
230
261
  catch {
@@ -234,23 +265,37 @@ class Enricher {
234
265
  }
235
266
  getClaudeAccountUuid() {
236
267
  try {
237
- const claudeJsonPath = path.join(os.homedir(), '.claude.json');
268
+ const claudeJsonPath = path.join(os.homedir(), ".claude.json");
238
269
  if (!fs.existsSync(claudeJsonPath))
239
270
  return null;
240
- const data = JSON.parse(fs.readFileSync(claudeJsonPath, 'utf-8'));
271
+ const data = JSON.parse(fs.readFileSync(claudeJsonPath, "utf-8"));
241
272
  return data?.oauthAccount?.accountUuid ?? null;
242
273
  }
243
274
  catch {
244
275
  return null;
245
276
  }
246
277
  }
278
+ getClaudeEmail() {
279
+ try {
280
+ const claudeJsonPath = path.join(os.homedir(), ".claude.json");
281
+ if (!fs.existsSync(claudeJsonPath))
282
+ return null;
283
+ const data = JSON.parse(fs.readFileSync(claudeJsonPath, "utf-8"));
284
+ return data?.oauthAccount?.emailAddress ?? null;
285
+ }
286
+ catch {
287
+ return null;
288
+ }
289
+ }
247
290
  getCursorEmail() {
248
291
  try {
249
292
  const dbPath = this.getCursorDbPath();
250
293
  if (!dbPath || !fs.existsSync(dbPath))
251
294
  return null;
252
295
  // sqlite3 CLI ships with macOS and is standard on Linux — no npm dependency needed
253
- const result = (0, child_process_1.execSync)(`sqlite3 "${dbPath}" "SELECT value FROM ItemTable WHERE key='cursorAuth/cachedEmail';"`, { timeout: 3000, stdio: ['ignore', 'pipe', 'ignore'] }).toString().trim();
296
+ const result = (0, child_process_1.execSync)(`sqlite3 "${dbPath}" "SELECT value FROM ItemTable WHERE key='cursorAuth/cachedEmail';"`, { timeout: 3000, stdio: ["ignore", "pipe", "ignore"] })
297
+ .toString()
298
+ .trim();
254
299
  return result || null;
255
300
  }
256
301
  catch {
@@ -261,17 +306,17 @@ class Enricher {
261
306
  const home = os.homedir();
262
307
  const candidates = [];
263
308
  switch (os.platform()) {
264
- case 'darwin':
265
- candidates.push(path.join(home, 'Library', 'Application Support', 'Cursor', 'User', 'globalStorage', 'state.vscdb'), path.join(home, '.config', 'Cursor', 'User', 'globalStorage', 'state.vscdb'));
309
+ case "darwin":
310
+ candidates.push(path.join(home, "Library", "Application Support", "Cursor", "User", "globalStorage", "state.vscdb"), path.join(home, ".config", "Cursor", "User", "globalStorage", "state.vscdb"));
266
311
  break;
267
- case 'linux':
268
- candidates.push(path.join(home, '.config', 'Cursor', 'User', 'globalStorage', 'state.vscdb'));
312
+ case "linux":
313
+ candidates.push(path.join(home, ".config", "Cursor", "User", "globalStorage", "state.vscdb"));
269
314
  break;
270
- case 'win32':
271
- candidates.push(path.join(process.env.APPDATA ?? '', 'Cursor', 'User', 'globalStorage', 'state.vscdb'));
315
+ case "win32":
316
+ candidates.push(path.join(process.env.APPDATA ?? "", "Cursor", "User", "globalStorage", "state.vscdb"));
272
317
  break;
273
318
  }
274
- return candidates.find(p => fs.existsSync(p)) ?? null;
319
+ return candidates.find((p) => fs.existsSync(p)) ?? null;
275
320
  }
276
321
  async getMachineId() {
277
322
  if (this.cachedMachineId) {
@@ -288,8 +333,14 @@ class Enricher {
288
333
  try {
289
334
  const git = (0, simple_git_1.default)();
290
335
  const [email, name] = await Promise.all([
291
- git.raw(['config', '--global', 'user.email']).then(s => s.trim()).catch(() => null),
292
- git.raw(['config', '--global', 'user.name']).then(s => s.trim()).catch(() => null),
336
+ git
337
+ .raw(["config", "--global", "user.email"])
338
+ .then((s) => s.trim())
339
+ .catch(() => null),
340
+ git
341
+ .raw(["config", "--global", "user.name"])
342
+ .then((s) => s.trim())
343
+ .catch(() => null),
293
344
  ]);
294
345
  return {
295
346
  git_user_email: email && this.config.privacy.hashUserIds ? this.hash(email) : email,
@@ -301,7 +352,11 @@ class Enricher {
301
352
  }
302
353
  }
303
354
  hash(input) {
304
- return crypto.createHash('sha256').update(input).digest('hex').substring(0, 16);
355
+ return crypto
356
+ .createHash("sha256")
357
+ .update(input)
358
+ .digest("hex")
359
+ .substring(0, 16);
305
360
  }
306
361
  }
307
362
  exports.Enricher = Enricher;
@@ -1 +1 @@
1
- {"version":3,"file":"enricher.js","sourceRoot":"","sources":["../enricher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enricher.js","sourceRoot":"","sources":["../enricher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../logger.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAW9B,eAAO,MAAM,MAAM,gBAajB,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../logger.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAyB9B,eAAO,MAAM,MAAM,gBAOjB,CAAC"}
package/dist/logger.js CHANGED
@@ -41,19 +41,27 @@ const winston_1 = __importDefault(require("winston"));
41
41
  const fs = __importStar(require("fs"));
42
42
  const path = __importStar(require("path"));
43
43
  const os = __importStar(require("os"));
44
- const logsDir = path.join(os.homedir(), '.coding-analytics', 'logs');
45
- if (!fs.existsSync(logsDir)) {
46
- fs.mkdirSync(logsDir, { recursive: true });
44
+ const isLambda = !!process.env.AWS_LAMBDA_FUNCTION_NAME;
45
+ let transports;
46
+ if (isLambda) {
47
+ transports = [new winston_1.default.transports.Console()];
47
48
  }
48
- exports.logger = winston_1.default.createLogger({
49
- level: process.env.LOG_LEVEL || 'info',
50
- format: winston_1.default.format.combine(winston_1.default.format.timestamp(), winston_1.default.format.json()),
51
- transports: [
49
+ else {
50
+ const logsDir = path.join(os.homedir(), '.coding-analytics', 'logs');
51
+ if (!fs.existsSync(logsDir)) {
52
+ fs.mkdirSync(logsDir, { recursive: true });
53
+ }
54
+ transports = [
52
55
  new winston_1.default.transports.File({
53
56
  filename: path.join(logsDir, 'coding-analytics.log'),
54
57
  maxsize: 10 * 1024 * 1024, // 10 MB
55
58
  maxFiles: 3,
56
59
  }),
57
- ],
60
+ ];
61
+ }
62
+ exports.logger = winston_1.default.createLogger({
63
+ level: process.env.LOG_LEVEL || 'info',
64
+ format: winston_1.default.format.combine(winston_1.default.format.timestamp(), winston_1.default.format.json()),
65
+ transports,
58
66
  });
59
67
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA8B;AAC9B,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC;AAErE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7C,CAAC;AAEY,QAAA,MAAM,GAAG,iBAAO,CAAC,YAAY,CAAC;IACzC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM;IACtC,MAAM,EAAE,iBAAO,CAAC,MAAM,CAAC,OAAO,CAC5B,iBAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAC1B,iBAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CACtB;IACD,UAAU,EAAE;QACV,IAAI,iBAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YAC1B,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC;YACpD,OAAO,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,QAAQ;YACnC,QAAQ,EAAE,CAAC;SACZ,CAAC;KACH;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA8B;AAC9B,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAEzB,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;AAExD,IAAI,UAA+B,CAAC;AAEpC,IAAI,QAAQ,EAAE,CAAC;IACb,UAAU,GAAG,CAAC,IAAI,iBAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;AAClD,CAAC;KAAM,CAAC;IACN,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC;IACrE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,UAAU,GAAG;QACX,IAAI,iBAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YAC1B,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC;YACpD,OAAO,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,QAAQ;YACnC,QAAQ,EAAE,CAAC;SACZ,CAAC;KACH,CAAC;AACJ,CAAC;AAEY,QAAA,MAAM,GAAG,iBAAO,CAAC,YAAY,CAAC;IACzC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM;IACtC,MAAM,EAAE,iBAAO,CAAC,MAAM,CAAC,OAAO,CAC5B,iBAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAC1B,iBAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CACtB;IACD,UAAU;CACX,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@tekdi/coding-analytics",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Monitor Cursor & Claude Code usage and send analytics to PostHog. Uses hooks to capture events.",
5
5
  "main": "dist/cli.js",
6
6
  "bin": {
7
- "coding-analytics": "./dist/cli.js"
7
+ "coding-analytics": "dist/cli.js"
8
8
  },
9
9
  "files": [
10
10
  "dist/",
11
11
  "README.md"
12
12
  ],
13
13
  "scripts": {
14
- "build": "tsc",
14
+ "build": "tsc -p tsconfig.build.json",
15
15
  "dev": "ts-node cli.ts",
16
16
  "test": "jest",
17
17
  "lint": "eslint **/*.ts",
@@ -33,6 +33,11 @@
33
33
  "systeminformation": "^5.21.20",
34
34
  "winston": "^3.11.0"
35
35
  },
36
+ "optionalDependencies": {
37
+ "@anthropic-ai/sdk": "^0.39.0",
38
+ "@google/generative-ai": "^0.21.0",
39
+ "openai": "^4.77.0"
40
+ },
36
41
  "devDependencies": {
37
42
  "@types/jest": "^29.5.11",
38
43
  "@types/node": "^20.10.6",
@@ -40,10 +45,11 @@
40
45
  "@typescript-eslint/parser": "^6.16.0",
41
46
  "eslint": "^8.56.0",
42
47
  "jest": "^29.7.0",
48
+ "ts-jest": "^29.1.2",
43
49
  "ts-node": "^10.9.2",
44
50
  "typescript": "^5.3.3"
45
51
  },
46
52
  "engines": {
47
53
  "node": ">=18.0.0"
48
54
  }
49
- }
55
+ }