@code-insights/cli 3.5.1 → 3.6.0

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 (115) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dashboard-dist/assets/{index-CyMrlee5.js → index-C1mDRV7y.js} +166 -151
  3. package/dashboard-dist/assets/index-_SWpRg6C.css +1 -0
  4. package/dashboard-dist/index.html +2 -2
  5. package/dist/db/migrate.d.ts +1 -0
  6. package/dist/db/migrate.d.ts.map +1 -1
  7. package/dist/db/migrate.js +10 -3
  8. package/dist/db/migrate.js.map +1 -1
  9. package/dist/db/schema.d.ts +2 -2
  10. package/dist/db/schema.d.ts.map +1 -1
  11. package/dist/db/schema.js +2 -1
  12. package/dist/db/schema.js.map +1 -1
  13. package/dist/types.d.ts +1 -0
  14. package/dist/types.d.ts.map +1 -1
  15. package/package.json +1 -1
  16. package/server-dist/export/agent-rules.d.ts +3 -0
  17. package/server-dist/export/agent-rules.d.ts.map +1 -0
  18. package/server-dist/export/agent-rules.js +153 -0
  19. package/server-dist/export/agent-rules.js.map +1 -0
  20. package/server-dist/export/knowledge-base.d.ts +33 -0
  21. package/server-dist/export/knowledge-base.d.ts.map +1 -0
  22. package/server-dist/export/knowledge-base.js +234 -0
  23. package/server-dist/export/knowledge-base.js.map +1 -0
  24. package/server-dist/llm/export-prompts.d.ts +57 -0
  25. package/server-dist/llm/export-prompts.d.ts.map +1 -0
  26. package/server-dist/llm/export-prompts.js +225 -0
  27. package/server-dist/llm/export-prompts.js.map +1 -0
  28. package/server-dist/routes/export.d.ts.map +1 -1
  29. package/server-dist/routes/export.js +305 -18
  30. package/server-dist/routes/export.js.map +1 -1
  31. package/dashboard-dist/assets/index-CFvScypR.css +0 -1
  32. package/dashboard-dist/dist/assets/index-CFvScypR.css +0 -1
  33. package/dashboard-dist/dist/assets/index-CyMrlee5.js +0 -592
  34. package/dashboard-dist/dist/favicon.svg +0 -18
  35. package/dashboard-dist/dist/index.html +0 -33
  36. package/server-dist/dist/index.d.ts +0 -20
  37. package/server-dist/dist/index.d.ts.map +0 -1
  38. package/server-dist/dist/index.js +0 -109
  39. package/server-dist/dist/index.js.map +0 -1
  40. package/server-dist/dist/llm/analysis.d.ts +0 -84
  41. package/server-dist/dist/llm/analysis.d.ts.map +0 -1
  42. package/server-dist/dist/llm/analysis.js +0 -550
  43. package/server-dist/dist/llm/analysis.js.map +0 -1
  44. package/server-dist/dist/llm/client.d.ts +0 -27
  45. package/server-dist/dist/llm/client.d.ts.map +0 -1
  46. package/server-dist/dist/llm/client.js +0 -71
  47. package/server-dist/dist/llm/client.js.map +0 -1
  48. package/server-dist/dist/llm/index.d.ts +0 -7
  49. package/server-dist/dist/llm/index.d.ts.map +0 -1
  50. package/server-dist/dist/llm/index.js +0 -5
  51. package/server-dist/dist/llm/index.js.map +0 -1
  52. package/server-dist/dist/llm/prompts.d.ts +0 -109
  53. package/server-dist/dist/llm/prompts.d.ts.map +0 -1
  54. package/server-dist/dist/llm/prompts.js +0 -381
  55. package/server-dist/dist/llm/prompts.js.map +0 -1
  56. package/server-dist/dist/llm/providers/anthropic.d.ts +0 -3
  57. package/server-dist/dist/llm/providers/anthropic.d.ts.map +0 -1
  58. package/server-dist/dist/llm/providers/anthropic.js +0 -45
  59. package/server-dist/dist/llm/providers/anthropic.js.map +0 -1
  60. package/server-dist/dist/llm/providers/gemini.d.ts +0 -3
  61. package/server-dist/dist/llm/providers/gemini.d.ts.map +0 -1
  62. package/server-dist/dist/llm/providers/gemini.js +0 -51
  63. package/server-dist/dist/llm/providers/gemini.js.map +0 -1
  64. package/server-dist/dist/llm/providers/ollama.d.ts +0 -12
  65. package/server-dist/dist/llm/providers/ollama.d.ts.map +0 -1
  66. package/server-dist/dist/llm/providers/ollama.js +0 -61
  67. package/server-dist/dist/llm/providers/ollama.js.map +0 -1
  68. package/server-dist/dist/llm/providers/openai.d.ts +0 -3
  69. package/server-dist/dist/llm/providers/openai.d.ts.map +0 -1
  70. package/server-dist/dist/llm/providers/openai.js +0 -40
  71. package/server-dist/dist/llm/providers/openai.js.map +0 -1
  72. package/server-dist/dist/llm/types.d.ts +0 -22
  73. package/server-dist/dist/llm/types.d.ts.map +0 -1
  74. package/server-dist/dist/llm/types.js +0 -5
  75. package/server-dist/dist/llm/types.js.map +0 -1
  76. package/server-dist/dist/routes/analysis.d.ts +0 -4
  77. package/server-dist/dist/routes/analysis.d.ts.map +0 -1
  78. package/server-dist/dist/routes/analysis.js +0 -370
  79. package/server-dist/dist/routes/analysis.js.map +0 -1
  80. package/server-dist/dist/routes/analytics.d.ts +0 -4
  81. package/server-dist/dist/routes/analytics.d.ts.map +0 -1
  82. package/server-dist/dist/routes/analytics.js +0 -57
  83. package/server-dist/dist/routes/analytics.js.map +0 -1
  84. package/server-dist/dist/routes/config.d.ts +0 -4
  85. package/server-dist/dist/routes/config.d.ts.map +0 -1
  86. package/server-dist/dist/routes/config.js +0 -108
  87. package/server-dist/dist/routes/config.js.map +0 -1
  88. package/server-dist/dist/routes/export.d.ts +0 -4
  89. package/server-dist/dist/routes/export.d.ts.map +0 -1
  90. package/server-dist/dist/routes/export.js +0 -52
  91. package/server-dist/dist/routes/export.js.map +0 -1
  92. package/server-dist/dist/routes/insights.d.ts +0 -4
  93. package/server-dist/dist/routes/insights.d.ts.map +0 -1
  94. package/server-dist/dist/routes/insights.js +0 -80
  95. package/server-dist/dist/routes/insights.js.map +0 -1
  96. package/server-dist/dist/routes/messages.d.ts +0 -4
  97. package/server-dist/dist/routes/messages.d.ts.map +0 -1
  98. package/server-dist/dist/routes/messages.js +0 -19
  99. package/server-dist/dist/routes/messages.js.map +0 -1
  100. package/server-dist/dist/routes/projects.d.ts +0 -4
  101. package/server-dist/dist/routes/projects.d.ts.map +0 -1
  102. package/server-dist/dist/routes/projects.js +0 -32
  103. package/server-dist/dist/routes/projects.js.map +0 -1
  104. package/server-dist/dist/routes/sessions.d.ts +0 -4
  105. package/server-dist/dist/routes/sessions.d.ts.map +0 -1
  106. package/server-dist/dist/routes/sessions.js +0 -65
  107. package/server-dist/dist/routes/sessions.js.map +0 -1
  108. package/server-dist/dist/routes/telemetry.d.ts +0 -4
  109. package/server-dist/dist/routes/telemetry.d.ts.map +0 -1
  110. package/server-dist/dist/routes/telemetry.js +0 -21
  111. package/server-dist/dist/routes/telemetry.js.map +0 -1
  112. package/server-dist/dist/utils.d.ts +0 -6
  113. package/server-dist/dist/utils.d.ts.map +0 -1
  114. package/server-dist/dist/utils.js +0 -9
  115. package/server-dist/dist/utils.js.map +0 -1
@@ -1,18 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32" height="32">
2
- <defs>
3
- <linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
4
- <stop offset="0%" style="stop-color:#6366f1"/>
5
- <stop offset="100%" style="stop-color:#8b5cf6"/>
6
- </linearGradient>
7
- <linearGradient id="accent" x1="0%" y1="0%" x2="100%" y2="100%">
8
- <stop offset="0%" style="stop-color:#fbbf24"/>
9
- <stop offset="100%" style="stop-color:#f59e0b"/>
10
- </linearGradient>
11
- </defs>
12
- <rect width="32" height="32" rx="7" fill="url(#bg)"/>
13
- <circle cx="18" cy="14" r="6" fill="none" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
14
- <line x1="22.2" y1="18.2" x2="25.5" y2="21.5" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
15
- <circle cx="18" cy="13" r="0.7" fill="url(#accent)"/>
16
- <line x1="18" y1="11" x2="18" y2="15" stroke="url(#accent)" stroke-width="0.7" stroke-linecap="round"/>
17
- <line x1="16" y1="13" x2="20" y2="13" stroke="url(#accent)" stroke-width="0.7" stroke-linecap="round"/>
18
- </svg>
@@ -1,33 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <title>Code Insights</title>
7
- <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
8
- <!-- FOUC prevention: apply theme class before React renders to avoid flash.
9
- Wrapped in try/catch so it silently degrades to light mode in
10
- restricted environments where localStorage access is blocked. -->
11
- <script>
12
- (function () {
13
- try {
14
- var stored = localStorage.getItem('code-insights-theme');
15
- var isDark = stored === 'dark';
16
- var isSystem = !stored || stored === 'system' || (stored !== 'light' && stored !== 'dark');
17
- var resolved = isDark || (isSystem && window.matchMedia('(prefers-color-scheme: dark)').matches)
18
- ? 'dark'
19
- : 'light';
20
- } catch (e) {
21
- var resolved = 'light';
22
- }
23
- document.documentElement.classList.remove('light', 'dark');
24
- document.documentElement.classList.add(resolved);
25
- })();
26
- </script>
27
- <script type="module" crossorigin src="/assets/index-CyMrlee5.js"></script>
28
- <link rel="stylesheet" crossorigin href="/assets/index-CFvScypR.css">
29
- </head>
30
- <body>
31
- <div id="root"></div>
32
- </body>
33
- </html>
@@ -1,20 +0,0 @@
1
- import { Hono } from 'hono';
2
- export interface ServerOptions {
3
- port: number;
4
- staticDir: string;
5
- openBrowser: boolean;
6
- }
7
- /**
8
- * Create the Hono app with all API routes mounted.
9
- * Does NOT add static file serving or call serve() — that's startServer's job.
10
- * Exported so tests can use app.request() without starting a real server.
11
- */
12
- export declare function createApp(): Hono;
13
- /**
14
- * Start the Code Insights local dashboard server.
15
- * Calls createApp(), adds static file serving + SPA fallback if staticDir exists,
16
- * then calls serve().
17
- * Called by the CLI `dashboard` command.
18
- */
19
- export declare function startServer(options: ServerOptions): Promise<void>;
20
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAe5B,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IAEb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,IAAI,IAAI,CAiChC;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAyDvE"}
@@ -1,109 +0,0 @@
1
- import { serve } from '@hono/node-server';
2
- import { serveStatic } from '@hono/node-server/serve-static';
3
- import { Hono } from 'hono';
4
- import { existsSync, readFileSync } from 'fs';
5
- import { relative, join } from 'path';
6
- import { openUrl } from '@code-insights/cli/utils/browser';
7
- import { shutdownTelemetry } from '@code-insights/cli/utils/telemetry';
8
- import projectsRouter from './routes/projects.js';
9
- import sessionsRouter from './routes/sessions.js';
10
- import messagesRouter from './routes/messages.js';
11
- import insightsRouter from './routes/insights.js';
12
- import analysisRouter from './routes/analysis.js';
13
- import analyticsRouter from './routes/analytics.js';
14
- import configRouter from './routes/config.js';
15
- import exportRouter from './routes/export.js';
16
- import telemetryRouter from './routes/telemetry.js';
17
- /**
18
- * Create the Hono app with all API routes mounted.
19
- * Does NOT add static file serving or call serve() — that's startServer's job.
20
- * Exported so tests can use app.request() without starting a real server.
21
- */
22
- export function createApp() {
23
- const app = new Hono();
24
- // Global error handler — prevents stack trace leakage to clients.
25
- // Detects malformed JSON bodies (SyntaxError) and returns 400 instead of 500.
26
- app.onError((err, c) => {
27
- if (err instanceof SyntaxError && err.message.includes('JSON')) {
28
- return c.json({ error: 'Invalid JSON in request body' }, 400);
29
- }
30
- console.error(err);
31
- return c.json({ error: 'Internal server error' }, 500);
32
- });
33
- // API routes — all under /api
34
- app.route('/api/projects', projectsRouter);
35
- app.route('/api/sessions', sessionsRouter);
36
- app.route('/api/messages', messagesRouter);
37
- app.route('/api/insights', insightsRouter);
38
- app.route('/api/analysis', analysisRouter);
39
- app.route('/api/analytics', analyticsRouter);
40
- app.route('/api/config', configRouter);
41
- app.route('/api/export', exportRouter);
42
- app.route('/api/telemetry', telemetryRouter);
43
- // Health check
44
- app.get('/api/health', (c) => c.json({ ok: true, version: '0.1.0' }));
45
- // API 404 catch-all — must come AFTER all /api sub-routers and BEFORE static serving.
46
- // Without this, unmatched /api/* routes fall through to the SPA fallback and return
47
- // index.html as 200, which breaks API clients expecting JSON errors.
48
- app.all('/api/*', (c) => c.json({ error: 'Not found' }, 404));
49
- return app;
50
- }
51
- /**
52
- * Start the Code Insights local dashboard server.
53
- * Calls createApp(), adds static file serving + SPA fallback if staticDir exists,
54
- * then calls serve().
55
- * Called by the CLI `dashboard` command.
56
- */
57
- export async function startServer(options) {
58
- const { port, staticDir, openBrowser } = options;
59
- const app = createApp();
60
- // Static file serving — only if the dashboard has been built.
61
- // serveStatic requires a path relative to process.cwd(), not an absolute path.
62
- if (existsSync(staticDir)) {
63
- const relativeStaticDir = relative(process.cwd(), staticDir);
64
- app.use('/*', serveStatic({ root: relativeStaticDir }));
65
- // Cache index.html at startup — avoids a readFileSync on every SPA navigation
66
- // request, which would be a pointless disk read for a file that never changes
67
- // while the server is running.
68
- const indexPath = join(staticDir, 'index.html');
69
- const indexHtml = existsSync(indexPath) ? readFileSync(indexPath, 'utf-8') : null;
70
- // SPA fallback: any non-API route not matched by serveStatic serves index.html
71
- // so react-router can handle client-side routing.
72
- app.get('*', (c) => {
73
- if (indexHtml)
74
- return c.html(indexHtml);
75
- return c.text('Dashboard not found. Run pnpm build first.', 404);
76
- });
77
- }
78
- else {
79
- // Dashboard not built — serve a helpful message
80
- app.get('*', (c) => c.html(`
81
- <html><body style="font-family:monospace;padding:2rem">
82
- <h2>Code Insights Dashboard</h2>
83
- <p>The dashboard has not been built yet.</p>
84
- <pre>pnpm install &amp;&amp; pnpm build</pre>
85
- <p>Then restart the server.</p>
86
- </body></html>
87
- `));
88
- }
89
- // Graceful shutdown: flush PostHog events before exit, then let the process
90
- // 'exit' handler in cli/src/db/client.ts run WAL checkpoint via closeDb().
91
- // 3s timeout guards against PostHog SDK stalling on network issues.
92
- const shutdown = async () => {
93
- await Promise.race([
94
- shutdownTelemetry(),
95
- new Promise((resolve) => setTimeout(resolve, 3000)),
96
- ]);
97
- process.exit(0);
98
- };
99
- process.on('SIGINT', () => { void shutdown(); });
100
- process.on('SIGTERM', () => { void shutdown(); });
101
- serve({ fetch: app.fetch, port }, (info) => {
102
- const url = `http://localhost:${info.port}`;
103
- console.log(` Code Insights dashboard running at ${url}`);
104
- if (openBrowser) {
105
- openUrl(url);
106
- }
107
- });
108
- }
109
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,84 +0,0 @@
1
- import { type SQLiteMessageRow, type ParseError } from './prompts.js';
2
- export type { SQLiteMessageRow };
3
- export interface AnalysisProgress {
4
- phase: 'loading_messages' | 'analyzing' | 'saving';
5
- currentChunk?: number;
6
- totalChunks?: number;
7
- }
8
- export interface AnalysisOptions {
9
- onProgress?: (progress: AnalysisProgress) => void;
10
- signal?: AbortSignal;
11
- }
12
- export interface AnalysisResult {
13
- success: boolean;
14
- insights: InsightRow[];
15
- error?: string;
16
- error_type?: string;
17
- response_length?: number;
18
- response_preview?: string;
19
- usage?: {
20
- inputTokens: number;
21
- outputTokens: number;
22
- };
23
- }
24
- export type { ParseError };
25
- export interface InsightRow {
26
- id: string;
27
- session_id: string;
28
- project_id: string;
29
- project_name: string;
30
- type: string;
31
- title: string;
32
- content: string;
33
- summary: string;
34
- bullets: string;
35
- confidence: number;
36
- source: 'llm';
37
- metadata: string | null;
38
- timestamp: string;
39
- created_at: string;
40
- scope: string;
41
- analysis_version: string;
42
- }
43
- export interface SessionData {
44
- id: string;
45
- project_id: string;
46
- project_name: string;
47
- project_path: string;
48
- summary: string | null;
49
- ended_at: string;
50
- }
51
- /**
52
- * Analyze a session and generate insights, saving them to SQLite.
53
- */
54
- export declare function analyzeSession(session: SessionData, messages: SQLiteMessageRow[], options?: AnalysisOptions): Promise<AnalysisResult>;
55
- /**
56
- * Analyze prompt quality for a session.
57
- */
58
- export declare function analyzePromptQuality(session: SessionData, messages: SQLiteMessageRow[], options?: AnalysisOptions): Promise<AnalysisResult>;
59
- export interface RecurringInsightGroup {
60
- insightIds: string[];
61
- theme: string;
62
- }
63
- export interface RecurringInsightResult {
64
- success: boolean;
65
- groups: RecurringInsightGroup[];
66
- updatedCount: number;
67
- error?: string;
68
- usage?: {
69
- inputTokens: number;
70
- outputTokens: number;
71
- };
72
- }
73
- /**
74
- * Find recurring patterns across multiple insights and write bidirectional links to SQLite.
75
- */
76
- export declare function findRecurringInsights(insights: Array<{
77
- id: string;
78
- type: string;
79
- title: string;
80
- summary: string;
81
- project_name: string;
82
- session_id: string;
83
- }>): Promise<RecurringInsightResult>;
84
- //# sourceMappingURL=analysis.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../../src/llm/analysis.ts"],"names":[],"mappings":"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"}