@code-insights/cli 3.2.0 → 3.3.1

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 (79) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +10 -6
  3. package/dashboard-dist/assets/index-Rr1JlICa.js +552 -0
  4. package/dashboard-dist/favicon.svg +17 -3
  5. package/dashboard-dist/index.html +1 -1
  6. package/dist/commands/config.js +2 -2
  7. package/dist/commands/config.js.map +1 -1
  8. package/dist/commands/dashboard.d.ts.map +1 -1
  9. package/dist/commands/dashboard.js +10 -2
  10. package/dist/commands/dashboard.js.map +1 -1
  11. package/dist/commands/init.d.ts.map +1 -1
  12. package/dist/commands/init.js +5 -2
  13. package/dist/commands/init.js.map +1 -1
  14. package/dist/commands/install-hook.d.ts.map +1 -1
  15. package/dist/commands/install-hook.js +48 -40
  16. package/dist/commands/install-hook.js.map +1 -1
  17. package/dist/commands/open.js +2 -2
  18. package/dist/commands/open.js.map +1 -1
  19. package/dist/commands/reset.d.ts.map +1 -1
  20. package/dist/commands/reset.js +5 -2
  21. package/dist/commands/reset.js.map +1 -1
  22. package/dist/commands/stats/actions/cost.d.ts.map +1 -1
  23. package/dist/commands/stats/actions/cost.js +6 -3
  24. package/dist/commands/stats/actions/cost.js.map +1 -1
  25. package/dist/commands/stats/actions/models.d.ts.map +1 -1
  26. package/dist/commands/stats/actions/models.js +6 -3
  27. package/dist/commands/stats/actions/models.js.map +1 -1
  28. package/dist/commands/stats/actions/overview.d.ts.map +1 -1
  29. package/dist/commands/stats/actions/overview.js +6 -3
  30. package/dist/commands/stats/actions/overview.js.map +1 -1
  31. package/dist/commands/stats/actions/projects.d.ts.map +1 -1
  32. package/dist/commands/stats/actions/projects.js +6 -3
  33. package/dist/commands/stats/actions/projects.js.map +1 -1
  34. package/dist/commands/stats/actions/today.d.ts.map +1 -1
  35. package/dist/commands/stats/actions/today.js +6 -3
  36. package/dist/commands/stats/actions/today.js.map +1 -1
  37. package/dist/commands/status.d.ts.map +1 -1
  38. package/dist/commands/status.js +66 -58
  39. package/dist/commands/status.js.map +1 -1
  40. package/dist/commands/sync.d.ts +1 -0
  41. package/dist/commands/sync.d.ts.map +1 -1
  42. package/dist/commands/sync.js +37 -4
  43. package/dist/commands/sync.js.map +1 -1
  44. package/dist/commands/telemetry.d.ts.map +1 -1
  45. package/dist/commands/telemetry.js +10 -14
  46. package/dist/commands/telemetry.js.map +1 -1
  47. package/dist/utils/banner.d.ts +6 -0
  48. package/dist/utils/banner.d.ts.map +1 -0
  49. package/dist/utils/banner.js +30 -0
  50. package/dist/utils/banner.js.map +1 -0
  51. package/dist/utils/telemetry.d.ts +52 -31
  52. package/dist/utils/telemetry.d.ts.map +1 -1
  53. package/dist/utils/telemetry.js +179 -187
  54. package/dist/utils/telemetry.js.map +1 -1
  55. package/dist/utils/welcome.d.ts.map +1 -1
  56. package/dist/utils/welcome.js +2 -3
  57. package/dist/utils/welcome.js.map +1 -1
  58. package/package.json +3 -2
  59. package/server-dist/index.d.ts.map +1 -1
  60. package/server-dist/index.js +13 -6
  61. package/server-dist/index.js.map +1 -1
  62. package/server-dist/llm/analysis.d.ts +4 -1
  63. package/server-dist/llm/analysis.d.ts.map +1 -1
  64. package/server-dist/llm/analysis.js +23 -8
  65. package/server-dist/llm/analysis.js.map +1 -1
  66. package/server-dist/llm/prompts.d.ts +14 -2
  67. package/server-dist/llm/prompts.d.ts.map +1 -1
  68. package/server-dist/llm/prompts.js +60 -36
  69. package/server-dist/llm/prompts.js.map +1 -1
  70. package/server-dist/routes/analysis.d.ts.map +1 -1
  71. package/server-dist/routes/analysis.js +135 -24
  72. package/server-dist/routes/analysis.js.map +1 -1
  73. package/server-dist/routes/export.js +1 -1
  74. package/server-dist/routes/export.js.map +1 -1
  75. package/server-dist/routes/telemetry.d.ts +4 -0
  76. package/server-dist/routes/telemetry.d.ts.map +1 -0
  77. package/server-dist/routes/telemetry.js +21 -0
  78. package/server-dist/routes/telemetry.js.map +1 -0
  79. package/dashboard-dist/assets/index-DzBnL32c.js +0 -549
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/commands/telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/commands/telemetry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Print the branded ASCII art banner.
3
+ * Purple logo text with a dim version tag on the last line.
4
+ */
5
+ export declare function printBanner(): void;
6
+ //# sourceMappingURL=banner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../src/utils/banner.ts"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAKlC"}
@@ -0,0 +1,30 @@
1
+ import chalk from 'chalk';
2
+ import { readFileSync } from 'fs';
3
+ const LOGO_ART = `
4
+ ____ _ ___ _ _ _
5
+ / ___|___ __| | ___ |_ _|_ __ ___(_) __ _| |__ | |_ ___
6
+ | | / _ \\ / _\` |/ _ \\ | || '_ \\/ __| |/ _\` | '_ \\| __/ __|
7
+ | |__| (_) | (_| | __/ | || | | \\__ \\ | (_| | | | | |_\\__ \\
8
+ \\____\\___/ \\__,_|\\___| |___|_| |_|___/_|\\__, |_| |_|\\__|___/
9
+ |___/`;
10
+ const purple = chalk.hex('#8b5cf6');
11
+ function getVersion() {
12
+ try {
13
+ const pkg = JSON.parse(readFileSync(new URL('../../package.json', import.meta.url), 'utf-8'));
14
+ return pkg.version ?? '';
15
+ }
16
+ catch {
17
+ return '';
18
+ }
19
+ }
20
+ /**
21
+ * Print the branded ASCII art banner.
22
+ * Purple logo text with a dim version tag on the last line.
23
+ */
24
+ export function printBanner() {
25
+ const version = getVersion();
26
+ const versionTag = version ? chalk.dim(` v${version}`) : '';
27
+ console.log(purple(LOGO_ART) + versionTag);
28
+ console.log('');
29
+ }
30
+ //# sourceMappingURL=banner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/utils/banner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAElC,MAAM,QAAQ,GAAG;;;;;;iDAMgC,CAAC;AAElD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAEpC,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9F,OAAO,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
@@ -1,18 +1,4 @@
1
- export interface TelemetryEvent {
2
- machineId: string;
3
- command: string;
4
- subcommand?: string;
5
- success: boolean;
6
- cliVersion: string;
7
- nodeVersion: string;
8
- os: string;
9
- arch: string;
10
- providers: string[];
11
- sessionCountBucket: string;
12
- dataSource: string;
13
- hasHook: boolean;
14
- timestamp: string;
15
- }
1
+ export type TelemetryEventName = 'cli_sync' | 'cli_stats' | 'cli_dashboard' | 'cli_init' | 'cli_config' | 'cli_reset' | 'cli_install_hook' | 'cli_status' | 'cli_open' | 'analysis_run' | 'insight_generated' | 'export_run' | 'dashboard_loaded';
16
2
  /**
17
3
  * Check if telemetry is enabled.
18
4
  *
@@ -24,29 +10,64 @@ export interface TelemetryEvent {
24
10
  */
25
11
  export declare function isTelemetryEnabled(): boolean;
26
12
  /**
27
- * Show the one-time telemetry disclosure notice if it hasn't been shown yet.
13
+ * Flush and shut down the PostHog client.
14
+ * Call this in server SIGINT/SIGTERM handlers before process.exit().
15
+ * No-op if telemetry is disabled or client was never initialized.
16
+ */
17
+ export declare function shutdownTelemetry(): Promise<void>;
18
+ /**
19
+ * Show the telemetry disclosure notice if it hasn't been shown for this CLI version.
28
20
  *
29
- * Uses a touch file at ~/.code-insights/.telemetry-notice-shown to track state.
30
- * Only displays if telemetry is currently enabled no point disclosing disabled telemetry.
21
+ * Uses a version-stamped touch file at ~/.code-insights/.telemetry-notice-shown.
22
+ * Re-shown when the CLI version changes (catches existing users on upgrades).
23
+ * Only displays if telemetry is enabled.
31
24
  *
32
- * Returns true if the notice was shown, false if it was already shown or telemetry is off.
25
+ * Returns true if the notice was shown.
33
26
  */
34
27
  export declare function showTelemetryNoticeIfNeeded(): boolean;
35
28
  /**
36
- * Fire-and-forget telemetry event. Does NOT block the calling command.
29
+ * Classify an error into a structured error_type + error_message pair.
30
+ * Used to enrich trackEvent calls and captureError calls with consistent error metadata.
31
+ */
32
+ export declare function classifyError(error: unknown): {
33
+ error_type: string;
34
+ error_message: string;
35
+ };
36
+ /**
37
+ * Capture an exception in PostHog. Never throws — telemetry must never break the CLI.
38
+ * Respects the same opt-out as trackEvent.
39
+ *
40
+ * @param error - The caught error (or unknown value)
41
+ * @param properties - Additional context properties (provider, model, etc.)
42
+ */
43
+ export declare function captureError(error: unknown, properties?: Record<string, unknown>): void;
44
+ /**
45
+ * Send a telemetry event. Never throws — telemetry must never break the CLI.
37
46
  *
38
- * Design principles:
39
- * - Never awaited: the caller doesn't wait for this
40
- * - 2s AbortController timeout: we don't hang if the endpoint is slow
41
- * - Swallows ALL errors: network failures, JSON errors, anything — telemetry
42
- * must never cause a CLI command to fail
43
- * - No retries: if it fails, it fails. Reliability of individual events
44
- * matters less than not disrupting the user's workflow.
47
+ * @param event - Event name from TelemetryEventName union
48
+ * @param properties - Arbitrary event properties (success, duration_ms, etc.)
45
49
  */
46
- export declare function trackEvent(command: string, success: boolean, subcommand?: string): void;
50
+ export declare function trackEvent(event: TelemetryEventName, properties?: Record<string, unknown>): void;
47
51
  /**
48
- * Build the event payload that would be sent for the given command.
49
- * Exported for use by `telemetry status` to show a preview without sending.
52
+ * Set person-level properties via PostHog identify().
53
+ * Call once after the DB is open (so total_sessions can be queried).
54
+ *
55
+ * Commands that never open the DB (init, config, telemetry) can skip this —
56
+ * PostHog retains person properties from previous calls.
57
+ */
58
+ export declare function identifyUser(): Promise<void>;
59
+ /**
60
+ * Build a preview of what would be collected and sent.
61
+ * Used by `code-insights telemetry status` to show users what is collected.
62
+ */
63
+ export declare function buildEventPreview(): Record<string, unknown>;
64
+ /**
65
+ * Stable machine ID — does NOT rotate monthly.
66
+ *
67
+ * Format: SHA-256(hostname:username:code-insights).slice(0, 16)
68
+ *
69
+ * No PII: hostname and username are never transmitted, only their hash.
70
+ * Deterministic: same machine always produces the same ID (survives reinstalls).
50
71
  */
51
- export declare function buildEventPreview(command: string): TelemetryEvent;
72
+ export declare function getStableMachineId(): string;
52
73
  //# sourceMappingURL=telemetry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/utils/telemetry.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAY5C;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CA4BrD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAevF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAEjE"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/utils/telemetry.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,kBAAkB,GAC1B,UAAU,GACV,WAAW,GACX,eAAe,GACf,UAAU,GACV,YAAY,GACZ,WAAW,GACX,kBAAkB,GAClB,YAAY,GACZ,UAAU,GACV,cAAc,GACd,mBAAmB,GACnB,YAAY,GACZ,kBAAkB,CAAC;AAMvB;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAU5C;AAqBD;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAKvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAuCrD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAY3F;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAkBvF;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAahG;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAwBlD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsB3D;AAMD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAW3C"}