@code-insights/cli 2.1.0 → 3.0.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.
- package/CHANGELOG.md +39 -0
- package/README.md +146 -156
- package/dashboard-dist/assets/index-BMhL7wL8.css +1 -0
- package/dashboard-dist/assets/index-CuCBzQyQ.js +548 -0
- package/dashboard-dist/dist/assets/index-BMhL7wL8.css +1 -0
- package/dashboard-dist/dist/assets/index-CUWKxcRo.js +548 -0
- package/dashboard-dist/dist/assets/index-CuCBzQyQ.js +548 -0
- package/dashboard-dist/dist/favicon.svg +4 -0
- package/dashboard-dist/dist/index.html +33 -0
- package/dashboard-dist/favicon.svg +4 -0
- package/dashboard-dist/index.html +33 -0
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +188 -69
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/dashboard.d.ts +16 -0
- package/dist/commands/dashboard.d.ts.map +1 -0
- package/dist/commands/dashboard.js +82 -0
- package/dist/commands/dashboard.js.map +1 -0
- package/dist/commands/init.d.ts +3 -4
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +24 -201
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/install-hook.d.ts.map +1 -1
- package/dist/commands/install-hook.js +4 -21
- package/dist/commands/install-hook.js.map +1 -1
- package/dist/commands/open.d.ts +2 -1
- package/dist/commands/open.d.ts.map +1 -1
- package/dist/commands/open.js +10 -21
- package/dist/commands/open.js.map +1 -1
- package/dist/commands/reset.d.ts.map +1 -1
- package/dist/commands/reset.js +38 -69
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/stats/actions/error-handler.d.ts.map +1 -1
- package/dist/commands/stats/actions/error-handler.js +1 -11
- package/dist/commands/stats/actions/error-handler.js.map +1 -1
- package/dist/commands/stats/data/local.d.ts +0 -2
- package/dist/commands/stats/data/local.d.ts.map +1 -1
- package/dist/commands/stats/data/local.js +44 -44
- package/dist/commands/stats/data/local.js.map +1 -1
- package/dist/commands/stats/data/source.d.ts +3 -9
- package/dist/commands/stats/data/source.d.ts.map +1 -1
- package/dist/commands/stats/data/source.js +3 -35
- package/dist/commands/stats/data/source.js.map +1 -1
- package/dist/commands/stats/data/types.d.ts +1 -12
- package/dist/commands/stats/data/types.d.ts.map +1 -1
- package/dist/commands/stats/data/types.js +0 -16
- package/dist/commands/stats/data/types.js.map +1 -1
- package/dist/commands/stats/shared.d.ts.map +1 -1
- package/dist/commands/stats/shared.js +1 -5
- package/dist/commands/stats/shared.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +53 -92
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/sync.d.ts +5 -5
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +31 -39
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/telemetry.d.ts.map +1 -1
- package/dist/commands/telemetry.js +0 -1
- package/dist/commands/telemetry.js.map +1 -1
- package/dist/constants/llm-providers.d.ts +5 -0
- package/dist/constants/llm-providers.d.ts.map +1 -0
- package/dist/constants/llm-providers.js +56 -0
- package/dist/constants/llm-providers.js.map +1 -0
- package/dist/db/client.d.ts +17 -0
- package/dist/db/client.d.ts.map +1 -0
- package/dist/db/client.js +53 -0
- package/dist/db/client.js.map +1 -0
- package/dist/db/migrate.d.ts +9 -0
- package/dist/db/migrate.d.ts.map +1 -0
- package/dist/db/migrate.js +31 -0
- package/dist/db/migrate.js.map +1 -0
- package/dist/db/read.d.ts +42 -0
- package/dist/db/read.d.ts.map +1 -0
- package/dist/db/read.js +194 -0
- package/dist/db/read.js.map +1 -0
- package/dist/db/schema.d.ts +3 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.js +129 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/db/write.d.ts +24 -0
- package/dist/db/write.d.ts.map +1 -0
- package/dist/db/write.js +287 -0
- package/dist/db/write.js.map +1 -0
- package/dist/firebase/client.d.ts +5 -0
- package/dist/firebase/client.d.ts.map +1 -1
- package/dist/firebase/client.js +23 -0
- package/dist/firebase/client.js.map +1 -1
- package/dist/index.js +12 -12
- package/dist/index.js.map +1 -1
- package/dist/providers/context.d.ts +3 -0
- package/dist/providers/context.d.ts.map +1 -0
- package/dist/providers/context.js +13 -0
- package/dist/providers/context.js.map +1 -0
- package/dist/providers/copilot.d.ts +18 -0
- package/dist/providers/copilot.d.ts.map +1 -0
- package/dist/providers/copilot.js +289 -0
- package/dist/providers/copilot.js.map +1 -0
- package/dist/providers/cursor.d.ts.map +1 -1
- package/dist/providers/cursor.js +8 -3
- package/dist/providers/cursor.js.map +1 -1
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +3 -0
- package/dist/providers/registry.js.map +1 -1
- package/dist/types.d.ts +38 -47
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/browser.d.ts +6 -0
- package/dist/utils/browser.d.ts.map +1 -0
- package/dist/utils/browser.js +23 -0
- package/dist/utils/browser.js.map +1 -0
- package/dist/utils/config.d.ts +9 -21
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +23 -50
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/telemetry.js +2 -7
- package/dist/utils/telemetry.js.map +1 -1
- package/dist/utils/tips.js +1 -1
- package/dist/utils/tips.js.map +1 -1
- package/package.json +19 -5
- package/server-dist/dist/index.d.ts +12 -0
- package/server-dist/dist/index.d.ts.map +1 -0
- package/server-dist/dist/index.js +92 -0
- package/server-dist/dist/index.js.map +1 -0
- package/server-dist/dist/llm/analysis.d.ts +80 -0
- package/server-dist/dist/llm/analysis.d.ts.map +1 -0
- package/server-dist/dist/llm/analysis.js +509 -0
- package/server-dist/dist/llm/analysis.js.map +1 -0
- package/server-dist/dist/llm/client.d.ts +27 -0
- package/server-dist/dist/llm/client.d.ts.map +1 -0
- package/server-dist/dist/llm/client.js +71 -0
- package/server-dist/dist/llm/client.js.map +1 -0
- package/server-dist/dist/llm/index.d.ts +7 -0
- package/server-dist/dist/llm/index.d.ts.map +1 -0
- package/server-dist/dist/llm/index.js +5 -0
- package/server-dist/dist/llm/index.js.map +1 -0
- package/server-dist/dist/llm/prompts.d.ts +73 -0
- package/server-dist/dist/llm/prompts.d.ts.map +1 -0
- package/server-dist/dist/llm/prompts.js +242 -0
- package/server-dist/dist/llm/prompts.js.map +1 -0
- package/server-dist/dist/llm/providers/anthropic.d.ts +3 -0
- package/server-dist/dist/llm/providers/anthropic.d.ts.map +1 -0
- package/server-dist/dist/llm/providers/anthropic.js +45 -0
- package/server-dist/dist/llm/providers/anthropic.js.map +1 -0
- package/server-dist/dist/llm/providers/gemini.d.ts +3 -0
- package/server-dist/dist/llm/providers/gemini.d.ts.map +1 -0
- package/server-dist/dist/llm/providers/gemini.js +51 -0
- package/server-dist/dist/llm/providers/gemini.js.map +1 -0
- package/server-dist/dist/llm/providers/ollama.d.ts +12 -0
- package/server-dist/dist/llm/providers/ollama.d.ts.map +1 -0
- package/server-dist/dist/llm/providers/ollama.js +61 -0
- package/server-dist/dist/llm/providers/ollama.js.map +1 -0
- package/server-dist/dist/llm/providers/openai.d.ts +3 -0
- package/server-dist/dist/llm/providers/openai.d.ts.map +1 -0
- package/server-dist/dist/llm/providers/openai.js +39 -0
- package/server-dist/dist/llm/providers/openai.js.map +1 -0
- package/server-dist/dist/llm/types.d.ts +22 -0
- package/server-dist/dist/llm/types.d.ts.map +1 -0
- package/server-dist/dist/llm/types.js +5 -0
- package/server-dist/dist/llm/types.js.map +1 -0
- package/server-dist/dist/routes/analysis.d.ts +4 -0
- package/server-dist/dist/routes/analysis.d.ts.map +1 -0
- package/server-dist/dist/routes/analysis.js +103 -0
- package/server-dist/dist/routes/analysis.js.map +1 -0
- package/server-dist/dist/routes/analytics.d.ts +4 -0
- package/server-dist/dist/routes/analytics.d.ts.map +1 -0
- package/server-dist/dist/routes/analytics.js +47 -0
- package/server-dist/dist/routes/analytics.js.map +1 -0
- package/server-dist/dist/routes/config.d.ts +4 -0
- package/server-dist/dist/routes/config.d.ts.map +1 -0
- package/server-dist/dist/routes/config.js +108 -0
- package/server-dist/dist/routes/config.js.map +1 -0
- package/server-dist/dist/routes/export.d.ts +4 -0
- package/server-dist/dist/routes/export.d.ts.map +1 -0
- package/server-dist/dist/routes/export.js +52 -0
- package/server-dist/dist/routes/export.js.map +1 -0
- package/server-dist/dist/routes/insights.d.ts +4 -0
- package/server-dist/dist/routes/insights.d.ts.map +1 -0
- package/server-dist/dist/routes/insights.js +80 -0
- package/server-dist/dist/routes/insights.js.map +1 -0
- package/server-dist/dist/routes/messages.d.ts +4 -0
- package/server-dist/dist/routes/messages.d.ts.map +1 -0
- package/server-dist/dist/routes/messages.js +19 -0
- package/server-dist/dist/routes/messages.js.map +1 -0
- package/server-dist/dist/routes/projects.d.ts +4 -0
- package/server-dist/dist/routes/projects.d.ts.map +1 -0
- package/server-dist/dist/routes/projects.js +32 -0
- package/server-dist/dist/routes/projects.js.map +1 -0
- package/server-dist/dist/routes/sessions.d.ts +4 -0
- package/server-dist/dist/routes/sessions.d.ts.map +1 -0
- package/server-dist/dist/routes/sessions.js +65 -0
- package/server-dist/dist/routes/sessions.js.map +1 -0
- package/server-dist/dist/utils.d.ts +6 -0
- package/server-dist/dist/utils.d.ts.map +1 -0
- package/server-dist/dist/utils.js +9 -0
- package/server-dist/dist/utils.js.map +1 -0
- package/server-dist/index.d.ts +12 -0
- package/server-dist/index.d.ts.map +1 -0
- package/server-dist/index.js +92 -0
- package/server-dist/index.js.map +1 -0
- package/server-dist/llm/analysis.d.ts +80 -0
- package/server-dist/llm/analysis.d.ts.map +1 -0
- package/server-dist/llm/analysis.js +509 -0
- package/server-dist/llm/analysis.js.map +1 -0
- package/server-dist/llm/client.d.ts +27 -0
- package/server-dist/llm/client.d.ts.map +1 -0
- package/server-dist/llm/client.js +71 -0
- package/server-dist/llm/client.js.map +1 -0
- package/server-dist/llm/index.d.ts +7 -0
- package/server-dist/llm/index.d.ts.map +1 -0
- package/server-dist/llm/index.js +5 -0
- package/server-dist/llm/index.js.map +1 -0
- package/server-dist/llm/prompts.d.ts +73 -0
- package/server-dist/llm/prompts.d.ts.map +1 -0
- package/server-dist/llm/prompts.js +242 -0
- package/server-dist/llm/prompts.js.map +1 -0
- package/server-dist/llm/providers/anthropic.d.ts +3 -0
- package/server-dist/llm/providers/anthropic.d.ts.map +1 -0
- package/server-dist/llm/providers/anthropic.js +45 -0
- package/server-dist/llm/providers/anthropic.js.map +1 -0
- package/server-dist/llm/providers/gemini.d.ts +3 -0
- package/server-dist/llm/providers/gemini.d.ts.map +1 -0
- package/server-dist/llm/providers/gemini.js +51 -0
- package/server-dist/llm/providers/gemini.js.map +1 -0
- package/server-dist/llm/providers/ollama.d.ts +12 -0
- package/server-dist/llm/providers/ollama.d.ts.map +1 -0
- package/server-dist/llm/providers/ollama.js +61 -0
- package/server-dist/llm/providers/ollama.js.map +1 -0
- package/server-dist/llm/providers/openai.d.ts +3 -0
- package/server-dist/llm/providers/openai.d.ts.map +1 -0
- package/server-dist/llm/providers/openai.js +39 -0
- package/server-dist/llm/providers/openai.js.map +1 -0
- package/server-dist/llm/types.d.ts +22 -0
- package/server-dist/llm/types.d.ts.map +1 -0
- package/server-dist/llm/types.js +5 -0
- package/server-dist/llm/types.js.map +1 -0
- package/server-dist/routes/analysis.d.ts +4 -0
- package/server-dist/routes/analysis.d.ts.map +1 -0
- package/server-dist/routes/analysis.js +103 -0
- package/server-dist/routes/analysis.js.map +1 -0
- package/server-dist/routes/analytics.d.ts +4 -0
- package/server-dist/routes/analytics.d.ts.map +1 -0
- package/server-dist/routes/analytics.js +47 -0
- package/server-dist/routes/analytics.js.map +1 -0
- package/server-dist/routes/config.d.ts +4 -0
- package/server-dist/routes/config.d.ts.map +1 -0
- package/server-dist/routes/config.js +108 -0
- package/server-dist/routes/config.js.map +1 -0
- package/server-dist/routes/export.d.ts +4 -0
- package/server-dist/routes/export.d.ts.map +1 -0
- package/server-dist/routes/export.js +52 -0
- package/server-dist/routes/export.js.map +1 -0
- package/server-dist/routes/insights.d.ts +4 -0
- package/server-dist/routes/insights.d.ts.map +1 -0
- package/server-dist/routes/insights.js +80 -0
- package/server-dist/routes/insights.js.map +1 -0
- package/server-dist/routes/messages.d.ts +4 -0
- package/server-dist/routes/messages.d.ts.map +1 -0
- package/server-dist/routes/messages.js +19 -0
- package/server-dist/routes/messages.js.map +1 -0
- package/server-dist/routes/projects.d.ts +4 -0
- package/server-dist/routes/projects.d.ts.map +1 -0
- package/server-dist/routes/projects.js +32 -0
- package/server-dist/routes/projects.js.map +1 -0
- package/server-dist/routes/sessions.d.ts +4 -0
- package/server-dist/routes/sessions.d.ts.map +1 -0
- package/server-dist/routes/sessions.js +65 -0
- package/server-dist/routes/sessions.js.map +1 -0
- package/server-dist/utils.d.ts +6 -0
- package/server-dist/utils.d.ts.map +1 -0
- package/server-dist/utils.js +9 -0
- package/server-dist/utils.js.map +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/sync.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
interface SyncOptions {
|
|
2
2
|
force?: boolean;
|
|
3
|
-
forceRemote?: boolean;
|
|
4
3
|
project?: string;
|
|
5
4
|
dryRun?: boolean;
|
|
6
5
|
quiet?: boolean;
|
|
6
|
+
verbose?: boolean;
|
|
7
7
|
regenerateTitles?: boolean;
|
|
8
8
|
source?: string;
|
|
9
9
|
}
|
|
@@ -15,13 +15,13 @@ export interface SyncResult {
|
|
|
15
15
|
/**
|
|
16
16
|
* Core sync logic — reusable from stats commands and other callers.
|
|
17
17
|
*
|
|
18
|
-
*
|
|
19
|
-
* unknown provider) instead of calling process.exit().
|
|
20
|
-
* Returns a SyncResult summary
|
|
18
|
+
* Parses sessions from all configured providers and writes to local SQLite.
|
|
19
|
+
* Throws on fatal errors (unknown provider) instead of calling process.exit().
|
|
20
|
+
* Returns a SyncResult summary.
|
|
21
21
|
*/
|
|
22
22
|
export declare function runSync(options?: SyncOptions): Promise<SyncResult>;
|
|
23
23
|
/**
|
|
24
|
-
* Sync AI coding sessions to
|
|
24
|
+
* Sync AI coding sessions to local SQLite database
|
|
25
25
|
*/
|
|
26
26
|
export declare function syncCommand(options?: SyncOptions): Promise<void>;
|
|
27
27
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAeA,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAsB,OAAO,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAkL5E;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2B1E"}
|
package/dist/commands/sync.js
CHANGED
|
@@ -2,17 +2,20 @@ import * as fs from 'fs';
|
|
|
2
2
|
import * as path from 'path';
|
|
3
3
|
import chalk from 'chalk';
|
|
4
4
|
import ora from 'ora';
|
|
5
|
-
import {
|
|
5
|
+
import { loadSyncState, saveSyncState } from '../utils/config.js';
|
|
6
6
|
import { trackEvent } from '../utils/telemetry.js';
|
|
7
|
-
import {
|
|
7
|
+
import { insertSessionWithProject, insertMessages, recalculateUsageStats } from '../db/write.js';
|
|
8
|
+
import { sessionExists } from '../db/read.js';
|
|
9
|
+
import { getDb } from '../db/client.js';
|
|
8
10
|
import { getAllProviders, getProvider } from '../providers/registry.js';
|
|
11
|
+
import { setProviderVerbose } from '../providers/context.js';
|
|
9
12
|
import { splitVirtualPath } from '../utils/paths.js';
|
|
10
13
|
/**
|
|
11
14
|
* Core sync logic — reusable from stats commands and other callers.
|
|
12
15
|
*
|
|
13
|
-
*
|
|
14
|
-
* unknown provider) instead of calling process.exit().
|
|
15
|
-
* Returns a SyncResult summary
|
|
16
|
+
* Parses sessions from all configured providers and writes to local SQLite.
|
|
17
|
+
* Throws on fatal errors (unknown provider) instead of calling process.exit().
|
|
18
|
+
* Returns a SyncResult summary.
|
|
16
19
|
*/
|
|
17
20
|
export async function runSync(options = {}) {
|
|
18
21
|
const log = options.quiet ? () => { } : console.log.bind(console);
|
|
@@ -26,27 +29,23 @@ export async function runSync(options = {}) {
|
|
|
26
29
|
const createSpinner = options.quiet
|
|
27
30
|
? () => noopSpinner
|
|
28
31
|
: ora;
|
|
29
|
-
log(chalk.cyan('\n
|
|
30
|
-
//
|
|
31
|
-
const
|
|
32
|
-
if (!config) {
|
|
33
|
-
throw new Error('Sync requires Firebase. Run `code-insights init` to set up.\n' +
|
|
34
|
-
' For local-only analytics: code-insights stats');
|
|
35
|
-
}
|
|
36
|
-
// Initialize Firebase
|
|
37
|
-
const spinner = createSpinner('Connecting to Firebase...').start();
|
|
32
|
+
log(chalk.cyan('\n Code Insights Sync\n'));
|
|
33
|
+
// Initialize database (runs migrations if needed)
|
|
34
|
+
const spinner = createSpinner('Initializing database...').start();
|
|
38
35
|
try {
|
|
39
|
-
|
|
40
|
-
spinner.succeed('
|
|
36
|
+
getDb();
|
|
37
|
+
spinner.succeed('Database ready');
|
|
41
38
|
}
|
|
42
39
|
catch (error) {
|
|
43
|
-
spinner.fail('Failed to
|
|
44
|
-
throw new Error(`
|
|
40
|
+
spinner.fail('Failed to initialize database');
|
|
41
|
+
throw new Error(`Database error: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
45
42
|
}
|
|
46
43
|
// Dry-run banner
|
|
47
44
|
if (options.dryRun) {
|
|
48
|
-
log(chalk.yellow('\n
|
|
45
|
+
log(chalk.yellow('\n Dry run -- no changes will be made'));
|
|
49
46
|
}
|
|
47
|
+
// Set verbose flag for providers (e.g., gates Cursor diagnostic warnings)
|
|
48
|
+
setProviderVerbose(!!options.verbose);
|
|
50
49
|
// Get providers to sync
|
|
51
50
|
let providers;
|
|
52
51
|
if (options.source) {
|
|
@@ -93,7 +92,7 @@ export async function runSync(options = {}) {
|
|
|
93
92
|
const providerName = provider.getProviderName();
|
|
94
93
|
try {
|
|
95
94
|
if (providers.length > 1) {
|
|
96
|
-
log(chalk.cyan(`\n
|
|
95
|
+
log(chalk.cyan(`\n Syncing ${providerName}...`));
|
|
97
96
|
}
|
|
98
97
|
// Discovery
|
|
99
98
|
spinner.start(`Discovering ${providerName} sessions...`);
|
|
@@ -123,9 +122,9 @@ export async function runSync(options = {}) {
|
|
|
123
122
|
spinner.warn(`Skipped ${fileName} (no valid data)`);
|
|
124
123
|
continue;
|
|
125
124
|
}
|
|
126
|
-
// Check if already exists (unless force)
|
|
125
|
+
// Check if already exists in SQLite (unless force)
|
|
127
126
|
if (!options.force) {
|
|
128
|
-
const exists =
|
|
127
|
+
const exists = sessionExists(session.id);
|
|
129
128
|
if (exists) {
|
|
130
129
|
spinner.info(`Skipped ${fileName} (already synced)`);
|
|
131
130
|
updateSyncState(syncState, filePath, session.id);
|
|
@@ -133,11 +132,11 @@ export async function runSync(options = {}) {
|
|
|
133
132
|
continue;
|
|
134
133
|
}
|
|
135
134
|
}
|
|
136
|
-
//
|
|
137
|
-
|
|
138
|
-
|
|
135
|
+
// Write session and messages to SQLite
|
|
136
|
+
insertSessionWithProject(session, !!options.force);
|
|
137
|
+
insertMessages(session);
|
|
139
138
|
// Update and persist sync state after each file
|
|
140
|
-
// so progress survives crashes
|
|
139
|
+
// so progress survives crashes
|
|
141
140
|
updateSyncState(syncState, filePath, session.id);
|
|
142
141
|
saveSyncState(syncState);
|
|
143
142
|
totalSyncedCount++;
|
|
@@ -165,7 +164,7 @@ export async function runSync(options = {}) {
|
|
|
165
164
|
if (options.force && (totalSyncedCount > 0 || totalErrorCount > 0)) {
|
|
166
165
|
spinner.start('Recalculating usage stats...');
|
|
167
166
|
try {
|
|
168
|
-
const result =
|
|
167
|
+
const result = recalculateUsageStats();
|
|
169
168
|
spinner.succeed(`Usage stats reconciled (${result.sessionsWithUsage} sessions with usage data)`);
|
|
170
169
|
}
|
|
171
170
|
catch (error) {
|
|
@@ -185,32 +184,25 @@ export async function runSync(options = {}) {
|
|
|
185
184
|
};
|
|
186
185
|
}
|
|
187
186
|
/**
|
|
188
|
-
* Sync AI coding sessions to
|
|
187
|
+
* Sync AI coding sessions to local SQLite database
|
|
189
188
|
*/
|
|
190
189
|
export async function syncCommand(options = {}) {
|
|
191
190
|
const log = options.quiet ? () => { } : console.log.bind(console);
|
|
192
|
-
const preference = resolveDataSourcePreference();
|
|
193
|
-
if (preference === 'local' && !options.forceRemote) {
|
|
194
|
-
log(chalk.yellow('\n ⚠ Data source is set to local. Sync is only used with Firebase.\n'));
|
|
195
|
-
log(chalk.gray(' To switch to Firebase: code-insights config set-source firebase'));
|
|
196
|
-
log(chalk.gray(' To sync anyway (one-time): code-insights sync --force-remote\n'));
|
|
197
|
-
return;
|
|
198
|
-
}
|
|
199
191
|
try {
|
|
200
192
|
const result = await runSync(options);
|
|
201
193
|
// Summary (only if not quiet)
|
|
202
194
|
if (result.syncedCount === 0 && result.errorCount === 0) {
|
|
203
|
-
log(chalk.green('\n
|
|
195
|
+
log(chalk.green('\n Already up to date!'));
|
|
204
196
|
trackEvent('sync', true);
|
|
205
197
|
return;
|
|
206
198
|
}
|
|
207
|
-
log(chalk.cyan('\n
|
|
199
|
+
log(chalk.cyan('\n Sync Summary'));
|
|
208
200
|
log(chalk.white(` Sessions synced: ${result.syncedCount}`));
|
|
209
|
-
log(chalk.white(` Messages
|
|
201
|
+
log(chalk.white(` Messages synced: ${result.messageCount}`));
|
|
210
202
|
if (result.errorCount > 0) {
|
|
211
203
|
log(chalk.red(` Errors: ${result.errorCount}`));
|
|
212
204
|
}
|
|
213
|
-
log(chalk.green('\n
|
|
205
|
+
log(chalk.green('\n Sync complete!'));
|
|
214
206
|
trackEvent('sync', true);
|
|
215
207
|
}
|
|
216
208
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/commands/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/commands/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+FpC,eAAO,MAAM,gBAAgB,SAIzB,CAAC"}
|
|
@@ -8,7 +8,6 @@ import { isTelemetryEnabled, buildEventPreview } from '../utils/telemetry.js';
|
|
|
8
8
|
*/
|
|
9
9
|
const MINIMAL_CONFIG = {
|
|
10
10
|
sync: { claudeDir: '~/.claude/projects', excludeProjects: [] },
|
|
11
|
-
dataSource: 'local',
|
|
12
11
|
};
|
|
13
12
|
/**
|
|
14
13
|
* Show telemetry status and a full field-level explanation of what is collected.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/commands/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG9E;;;GAGG;AACH,MAAM,cAAc,GAAwB;IAC1C,IAAI,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE,eAAe,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/commands/telemetry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ProviderInfo } from '../types.js';
|
|
2
|
+
export declare const PROVIDERS: ProviderInfo[];
|
|
3
|
+
export declare function getProviderInfo(providerId: string): ProviderInfo | undefined;
|
|
4
|
+
export declare function getDefaultModel(providerId: string): string | undefined;
|
|
5
|
+
//# sourceMappingURL=llm-providers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-providers.d.ts","sourceRoot":"","sources":["../../src/constants/llm-providers.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,SAAS,EAAE,YAAY,EA6CnC,CAAC;AAEF,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE5E;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEtE"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// LLM provider metadata: model lists, pricing, API key links.
|
|
2
|
+
// This is a runtime constant, not a type — kept here to avoid inflating types.ts.
|
|
3
|
+
// Types (LLMProvider, ProviderInfo, etc.) live in cli/src/types.ts.
|
|
4
|
+
export const PROVIDERS = [
|
|
5
|
+
{
|
|
6
|
+
id: 'openai',
|
|
7
|
+
name: 'OpenAI',
|
|
8
|
+
requiresApiKey: true,
|
|
9
|
+
apiKeyLink: 'https://platform.openai.com/api-keys',
|
|
10
|
+
models: [
|
|
11
|
+
{ id: 'gpt-4o', name: 'GPT-4o', description: 'Most capable', inputCostPer1M: 2.5, outputCostPer1M: 10 },
|
|
12
|
+
{ id: 'gpt-4o-mini', name: 'GPT-4o Mini', description: 'Fast & cheap', inputCostPer1M: 0.15, outputCostPer1M: 0.6 },
|
|
13
|
+
{ id: 'gpt-4-turbo', name: 'GPT-4 Turbo', description: '128k context', inputCostPer1M: 10, outputCostPer1M: 30 },
|
|
14
|
+
],
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
id: 'anthropic',
|
|
18
|
+
name: 'Anthropic',
|
|
19
|
+
requiresApiKey: true,
|
|
20
|
+
apiKeyLink: 'https://console.anthropic.com/settings/keys',
|
|
21
|
+
models: [
|
|
22
|
+
{ id: 'claude-sonnet-4-20250514', name: 'Claude Sonnet 4', description: 'Best balance', inputCostPer1M: 3, outputCostPer1M: 15 },
|
|
23
|
+
{ id: 'claude-3-5-haiku-20241022', name: 'Claude 3.5 Haiku', description: 'Fast & cheap', inputCostPer1M: 0.25, outputCostPer1M: 1.25 },
|
|
24
|
+
{ id: 'claude-opus-4-20250514', name: 'Claude Opus 4', description: 'Most capable', inputCostPer1M: 15, outputCostPer1M: 75 },
|
|
25
|
+
],
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
id: 'gemini',
|
|
29
|
+
name: 'Google Gemini',
|
|
30
|
+
requiresApiKey: true,
|
|
31
|
+
apiKeyLink: 'https://aistudio.google.com/apikey',
|
|
32
|
+
models: [
|
|
33
|
+
{ id: 'gemini-2.0-flash', name: 'Gemini 2.0 Flash', description: 'Fast & capable', inputCostPer1M: 0.1, outputCostPer1M: 0.4 },
|
|
34
|
+
{ id: 'gemini-1.5-pro', name: 'Gemini 1.5 Pro', description: '2M context', inputCostPer1M: 1.25, outputCostPer1M: 5 },
|
|
35
|
+
{ id: 'gemini-1.5-flash', name: 'Gemini 1.5 Flash', description: 'Fast', inputCostPer1M: 0.075, outputCostPer1M: 0.3 },
|
|
36
|
+
],
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: 'ollama',
|
|
40
|
+
name: 'Ollama (Local)',
|
|
41
|
+
requiresApiKey: false,
|
|
42
|
+
models: [
|
|
43
|
+
{ id: 'llama3.2', name: 'Llama 3.2', description: 'Local, free' },
|
|
44
|
+
{ id: 'mistral', name: 'Mistral', description: 'Local, free' },
|
|
45
|
+
{ id: 'codellama', name: 'Code Llama', description: 'Code-focused, free' },
|
|
46
|
+
{ id: 'qwen2.5-coder', name: 'Qwen 2.5 Coder', description: 'Code-focused, free' },
|
|
47
|
+
],
|
|
48
|
+
},
|
|
49
|
+
];
|
|
50
|
+
export function getProviderInfo(providerId) {
|
|
51
|
+
return PROVIDERS.find(p => p.id === providerId);
|
|
52
|
+
}
|
|
53
|
+
export function getDefaultModel(providerId) {
|
|
54
|
+
return getProviderInfo(providerId)?.models[0]?.id;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=llm-providers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-providers.js","sourceRoot":"","sources":["../../src/constants/llm-providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import Database from 'better-sqlite3';
|
|
2
|
+
/**
|
|
3
|
+
* Get (or initialize) the singleton SQLite database instance.
|
|
4
|
+
* WAL mode is enabled for concurrent reads during CLI sync.
|
|
5
|
+
* Migrations run automatically on first call.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getDb(): Database.Database;
|
|
8
|
+
/**
|
|
9
|
+
* Close the database connection. Used in tests and graceful shutdown.
|
|
10
|
+
* Also called by the process 'exit' handler to ensure WAL checkpointing.
|
|
11
|
+
*/
|
|
12
|
+
export declare function closeDb(): void;
|
|
13
|
+
/**
|
|
14
|
+
* Get the database file path.
|
|
15
|
+
*/
|
|
16
|
+
export declare function getDbPath(): string;
|
|
17
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAWtC;;;;GAIG;AACH,wBAAgB,KAAK,IAAI,QAAQ,CAAC,QAAQ,CA4BzC;AAED;;;GAGG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAK9B;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import Database from 'better-sqlite3';
|
|
2
|
+
import { join } from 'path';
|
|
3
|
+
import { homedir } from 'os';
|
|
4
|
+
import { mkdirSync, existsSync } from 'fs';
|
|
5
|
+
import { runMigrations } from './migrate.js';
|
|
6
|
+
const DB_DIR = join(homedir(), '.code-insights');
|
|
7
|
+
const DB_PATH = join(DB_DIR, 'data.db');
|
|
8
|
+
let _db = null;
|
|
9
|
+
/**
|
|
10
|
+
* Get (or initialize) the singleton SQLite database instance.
|
|
11
|
+
* WAL mode is enabled for concurrent reads during CLI sync.
|
|
12
|
+
* Migrations run automatically on first call.
|
|
13
|
+
*/
|
|
14
|
+
export function getDb() {
|
|
15
|
+
if (_db)
|
|
16
|
+
return _db;
|
|
17
|
+
if (!existsSync(DB_DIR)) {
|
|
18
|
+
mkdirSync(DB_DIR, { recursive: true, mode: 0o700 });
|
|
19
|
+
}
|
|
20
|
+
const db = new Database(DB_PATH);
|
|
21
|
+
// WAL mode: allows concurrent reads while CLI writes
|
|
22
|
+
db.pragma('journal_mode = WAL');
|
|
23
|
+
// Wait up to 5s if another writer holds the lock (e.g., dashboard writing insights)
|
|
24
|
+
db.pragma('busy_timeout = 5000');
|
|
25
|
+
// Foreign key enforcement
|
|
26
|
+
db.pragma('foreign_keys = ON');
|
|
27
|
+
runMigrations(db);
|
|
28
|
+
_db = db;
|
|
29
|
+
// Ensure WAL checkpoint runs on process exit so no data is left in the WAL file.
|
|
30
|
+
// Registered here (on first open) so it fires whether process exits normally or
|
|
31
|
+
// via an unhandled exception that reaches the exit handler.
|
|
32
|
+
process.on('exit', () => {
|
|
33
|
+
closeDb();
|
|
34
|
+
});
|
|
35
|
+
return _db;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Close the database connection. Used in tests and graceful shutdown.
|
|
39
|
+
* Also called by the process 'exit' handler to ensure WAL checkpointing.
|
|
40
|
+
*/
|
|
41
|
+
export function closeDb() {
|
|
42
|
+
if (_db) {
|
|
43
|
+
_db.close();
|
|
44
|
+
_db = null;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Get the database file path.
|
|
49
|
+
*/
|
|
50
|
+
export function getDbPath() {
|
|
51
|
+
return DB_PATH;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,CAAC;AACjD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAExC,IAAI,GAAG,GAA6B,IAAI,CAAC;AAEzC;;;;GAIG;AACH,MAAM,UAAU,KAAK;IACnB,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IAEpB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IAEjC,qDAAqD;IACrD,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,oFAAoF;IACpF,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACjC,0BAA0B;IAC1B,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAE/B,aAAa,CAAC,EAAE,CAAC,CAAC;IAElB,GAAG,GAAG,EAAE,CAAC;IAET,iFAAiF;IACjF,gFAAgF;IAChF,4DAA4D;IAC5D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO;IACrB,IAAI,GAAG,EAAE,CAAC;QACR,GAAG,CAAC,KAAK,EAAE,CAAC;QACZ,GAAG,GAAG,IAAI,CAAC;IACb,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type Database from 'better-sqlite3';
|
|
2
|
+
/**
|
|
3
|
+
* Apply schema migrations to the database.
|
|
4
|
+
* Called once on startup before any reads or writes.
|
|
5
|
+
*
|
|
6
|
+
* Version 1: Initial schema (projects, sessions, messages, insights, usage_stats)
|
|
7
|
+
*/
|
|
8
|
+
export declare function runMigrations(db: Database.Database): void;
|
|
9
|
+
//# sourceMappingURL=migrate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/db/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAG3C;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAiBzD"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { SCHEMA_SQL, CURRENT_SCHEMA_VERSION } from './schema.js';
|
|
2
|
+
/**
|
|
3
|
+
* Apply schema migrations to the database.
|
|
4
|
+
* Called once on startup before any reads or writes.
|
|
5
|
+
*
|
|
6
|
+
* Version 1: Initial schema (projects, sessions, messages, insights, usage_stats)
|
|
7
|
+
*/
|
|
8
|
+
export function runMigrations(db) {
|
|
9
|
+
// Create schema_version table first if it doesn't exist.
|
|
10
|
+
// This table is created inline (not via SCHEMA_SQL) so migrations can check it.
|
|
11
|
+
db.exec(`
|
|
12
|
+
CREATE TABLE IF NOT EXISTS schema_version (
|
|
13
|
+
version INTEGER PRIMARY KEY,
|
|
14
|
+
applied_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
15
|
+
);
|
|
16
|
+
`);
|
|
17
|
+
const currentVersion = getCurrentVersion(db);
|
|
18
|
+
if (currentVersion < 1) {
|
|
19
|
+
applyV1(db);
|
|
20
|
+
}
|
|
21
|
+
// Future migrations: if (currentVersion < 2) { applyV2(db); }
|
|
22
|
+
}
|
|
23
|
+
function getCurrentVersion(db) {
|
|
24
|
+
const row = db.prepare('SELECT MAX(version) as v FROM schema_version').get();
|
|
25
|
+
return row.v ?? 0;
|
|
26
|
+
}
|
|
27
|
+
function applyV1(db) {
|
|
28
|
+
db.exec(SCHEMA_SQL);
|
|
29
|
+
db.prepare('INSERT OR IGNORE INTO schema_version (version) VALUES (?)').run(CURRENT_SCHEMA_VERSION);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=migrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/db/migrate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,EAAqB;IACjD,yDAAyD;IACzD,gFAAgF;IAChF,EAAE,CAAC,IAAI,CAAC;;;;;GAKP,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAE7C,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAED,8DAA8D;AAChE,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAqB;IAC9C,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,GAAG,EAA0B,CAAC;IACrG,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,OAAO,CAAC,EAAqB;IACpC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpB,EAAE,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AACtG,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { SessionRow } from '../commands/stats/data/types.js';
|
|
2
|
+
export declare function sessionExists(sessionId: string): boolean;
|
|
3
|
+
export interface ProjectRow {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
path: string;
|
|
7
|
+
session_count: number;
|
|
8
|
+
last_activity: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function getProjects(): ProjectRow[];
|
|
11
|
+
export interface SessionQueryOptions {
|
|
12
|
+
periodStart?: Date;
|
|
13
|
+
projectId?: string;
|
|
14
|
+
sourceTool?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Query sessions from SQLite, mapping snake_case columns to SessionRow shape.
|
|
18
|
+
*/
|
|
19
|
+
export declare function getSessions(opts?: SessionQueryOptions): SessionRow[];
|
|
20
|
+
/**
|
|
21
|
+
* Get the most recent session matching optional filters.
|
|
22
|
+
* Uses LIMIT 1 to avoid scanning all rows.
|
|
23
|
+
*/
|
|
24
|
+
export declare function getLastSession(opts?: {
|
|
25
|
+
sourceTool?: string;
|
|
26
|
+
projectId?: string;
|
|
27
|
+
}): SessionRow | null;
|
|
28
|
+
/**
|
|
29
|
+
* Count sessions matching optional filters without loading row data.
|
|
30
|
+
* Use this instead of getSessions({}).length to avoid full-table scans
|
|
31
|
+
* when only a count is needed.
|
|
32
|
+
*/
|
|
33
|
+
export declare function getSessionCount(opts?: SessionQueryOptions): number;
|
|
34
|
+
/**
|
|
35
|
+
* Get distinct project names and IDs from sessions table.
|
|
36
|
+
* Used for project resolution in stats commands.
|
|
37
|
+
*/
|
|
38
|
+
export declare function getProjectList(): Array<{
|
|
39
|
+
id: string;
|
|
40
|
+
name: string;
|
|
41
|
+
}>;
|
|
42
|
+
//# sourceMappingURL=read.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/db/read.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAwBlE,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAIxD;AAMD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,WAAW,IAAI,UAAU,EAAE,CAO1C;AAMD,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,GAAE,mBAAwB,GAAG,UAAU,EAAE,CAoFxE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,GAAG,IAAI,CAmFpG;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,GAAE,mBAAwB,GAAG,MAAM,CAwBtE;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAOpE"}
|