lance-context 0.1.0 → 1.1.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.
- package/README.md +232 -23
- package/dist/__tests__/ast-chunker.test.d.ts +2 -0
- package/dist/__tests__/ast-chunker.test.d.ts.map +1 -0
- package/dist/__tests__/ast-chunker.test.js +307 -0
- package/dist/__tests__/ast-chunker.test.js.map +1 -0
- package/dist/__tests__/config.test.d.ts +2 -0
- package/dist/__tests__/config.test.d.ts.map +1 -0
- package/dist/__tests__/config.test.js +242 -0
- package/dist/__tests__/config.test.js.map +1 -0
- package/dist/__tests__/dashboard/beads.test.d.ts +2 -0
- package/dist/__tests__/dashboard/beads.test.d.ts.map +1 -0
- package/dist/__tests__/dashboard/beads.test.js +151 -0
- package/dist/__tests__/dashboard/beads.test.js.map +1 -0
- package/dist/__tests__/dashboard/index.test.d.ts +2 -0
- package/dist/__tests__/dashboard/index.test.d.ts.map +1 -0
- package/dist/__tests__/dashboard/index.test.js +116 -0
- package/dist/__tests__/dashboard/index.test.js.map +1 -0
- package/dist/__tests__/dashboard/routes.test.d.ts +2 -0
- package/dist/__tests__/dashboard/routes.test.d.ts.map +1 -0
- package/dist/__tests__/dashboard/routes.test.js +125 -0
- package/dist/__tests__/dashboard/routes.test.js.map +1 -0
- package/dist/__tests__/dashboard/server.test.d.ts +2 -0
- package/dist/__tests__/dashboard/server.test.d.ts.map +1 -0
- package/dist/__tests__/dashboard/server.test.js +75 -0
- package/dist/__tests__/dashboard/server.test.js.map +1 -0
- package/dist/__tests__/dashboard/state.test.d.ts +2 -0
- package/dist/__tests__/dashboard/state.test.d.ts.map +1 -0
- package/dist/__tests__/dashboard/state.test.js +124 -0
- package/dist/__tests__/dashboard/state.test.js.map +1 -0
- package/dist/__tests__/embeddings/factory.test.d.ts +2 -0
- package/dist/__tests__/embeddings/factory.test.d.ts.map +1 -0
- package/dist/__tests__/embeddings/factory.test.js +100 -0
- package/dist/__tests__/embeddings/factory.test.js.map +1 -0
- package/dist/__tests__/embeddings/jina.test.d.ts +2 -0
- package/dist/__tests__/embeddings/jina.test.d.ts.map +1 -0
- package/dist/__tests__/embeddings/jina.test.js +156 -0
- package/dist/__tests__/embeddings/jina.test.js.map +1 -0
- package/dist/__tests__/embeddings/ollama.test.d.ts +2 -0
- package/dist/__tests__/embeddings/ollama.test.d.ts.map +1 -0
- package/dist/__tests__/embeddings/ollama.test.js +172 -0
- package/dist/__tests__/embeddings/ollama.test.js.map +1 -0
- package/dist/__tests__/embeddings/rate-limiter.test.d.ts +2 -0
- package/dist/__tests__/embeddings/rate-limiter.test.d.ts.map +1 -0
- package/dist/__tests__/embeddings/rate-limiter.test.js +163 -0
- package/dist/__tests__/embeddings/rate-limiter.test.js.map +1 -0
- package/dist/__tests__/embeddings/retry.test.d.ts +2 -0
- package/dist/__tests__/embeddings/retry.test.d.ts.map +1 -0
- package/dist/__tests__/embeddings/retry.test.js +260 -0
- package/dist/__tests__/embeddings/retry.test.js.map +1 -0
- package/dist/__tests__/embeddings/types.test.d.ts +2 -0
- package/dist/__tests__/embeddings/types.test.d.ts.map +1 -0
- package/dist/__tests__/embeddings/types.test.js +31 -0
- package/dist/__tests__/embeddings/types.test.js.map +1 -0
- package/dist/__tests__/mocks/embedding-backend.mock.d.ts +10 -0
- package/dist/__tests__/mocks/embedding-backend.mock.d.ts.map +1 -0
- package/dist/__tests__/mocks/embedding-backend.mock.js +39 -0
- package/dist/__tests__/mocks/embedding-backend.mock.js.map +1 -0
- package/dist/__tests__/mocks/fetch.mock.d.ts +38 -0
- package/dist/__tests__/mocks/fetch.mock.d.ts.map +1 -0
- package/dist/__tests__/mocks/fetch.mock.js +74 -0
- package/dist/__tests__/mocks/fetch.mock.js.map +1 -0
- package/dist/__tests__/mocks/lancedb.mock.d.ts +38 -0
- package/dist/__tests__/mocks/lancedb.mock.d.ts.map +1 -0
- package/dist/__tests__/mocks/lancedb.mock.js +63 -0
- package/dist/__tests__/mocks/lancedb.mock.js.map +1 -0
- package/dist/__tests__/search/clustering.test.d.ts +2 -0
- package/dist/__tests__/search/clustering.test.d.ts.map +1 -0
- package/dist/__tests__/search/clustering.test.js +230 -0
- package/dist/__tests__/search/clustering.test.js.map +1 -0
- package/dist/__tests__/search/hybrid-search.test.d.ts +2 -0
- package/dist/__tests__/search/hybrid-search.test.d.ts.map +1 -0
- package/dist/__tests__/search/hybrid-search.test.js +186 -0
- package/dist/__tests__/search/hybrid-search.test.js.map +1 -0
- package/dist/__tests__/search/indexer.test.d.ts +2 -0
- package/dist/__tests__/search/indexer.test.d.ts.map +1 -0
- package/dist/__tests__/search/indexer.test.js +878 -0
- package/dist/__tests__/search/indexer.test.js.map +1 -0
- package/dist/__tests__/search/tree-sitter-chunker.test.d.ts +2 -0
- package/dist/__tests__/search/tree-sitter-chunker.test.d.ts.map +1 -0
- package/dist/__tests__/search/tree-sitter-chunker.test.js +228 -0
- package/dist/__tests__/search/tree-sitter-chunker.test.js.map +1 -0
- package/dist/__tests__/setup.d.ts +2 -0
- package/dist/__tests__/setup.d.ts.map +1 -0
- package/dist/__tests__/setup.js +11 -0
- package/dist/__tests__/setup.js.map +1 -0
- package/dist/__tests__/utils/concurrency.test.d.ts +2 -0
- package/dist/__tests__/utils/concurrency.test.d.ts.map +1 -0
- package/dist/__tests__/utils/concurrency.test.js +83 -0
- package/dist/__tests__/utils/concurrency.test.js.map +1 -0
- package/dist/__tests__/utils/errors.test.d.ts +2 -0
- package/dist/__tests__/utils/errors.test.d.ts.map +1 -0
- package/dist/__tests__/utils/errors.test.js +136 -0
- package/dist/__tests__/utils/errors.test.js.map +1 -0
- package/dist/__tests__/utils/type-guards.test.d.ts +2 -0
- package/dist/__tests__/utils/type-guards.test.d.ts.map +1 -0
- package/dist/__tests__/utils/type-guards.test.js +80 -0
- package/dist/__tests__/utils/type-guards.test.js.map +1 -0
- package/dist/__tests__/worktree/worktree-manager.test.d.ts +2 -0
- package/dist/__tests__/worktree/worktree-manager.test.d.ts.map +1 -0
- package/dist/__tests__/worktree/worktree-manager.test.js +403 -0
- package/dist/__tests__/worktree/worktree-manager.test.js.map +1 -0
- package/dist/config.d.ts +122 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +508 -0
- package/dist/config.js.map +1 -0
- package/dist/dashboard/beads.d.ts +35 -0
- package/dist/dashboard/beads.d.ts.map +1 -0
- package/dist/dashboard/beads.js +102 -0
- package/dist/dashboard/beads.js.map +1 -0
- package/dist/dashboard/events.d.ts +46 -0
- package/dist/dashboard/events.d.ts.map +1 -0
- package/dist/dashboard/events.js +141 -0
- package/dist/dashboard/events.js.map +1 -0
- package/dist/dashboard/index.d.ts +69 -0
- package/dist/dashboard/index.d.ts.map +1 -0
- package/dist/dashboard/index.js +93 -0
- package/dist/dashboard/index.js.map +1 -0
- package/dist/dashboard/routes.d.ts +6 -0
- package/dist/dashboard/routes.d.ts.map +1 -0
- package/dist/dashboard/routes.js +245 -0
- package/dist/dashboard/routes.js.map +1 -0
- package/dist/dashboard/server.d.ts +27 -0
- package/dist/dashboard/server.d.ts.map +1 -0
- package/dist/dashboard/server.js +72 -0
- package/dist/dashboard/server.js.map +1 -0
- package/dist/dashboard/state.d.ts +125 -0
- package/dist/dashboard/state.d.ts.map +1 -0
- package/dist/dashboard/state.js +264 -0
- package/dist/dashboard/state.js.map +1 -0
- package/dist/dashboard/ui.d.ts +6 -0
- package/dist/dashboard/ui.d.ts.map +1 -0
- package/dist/dashboard/ui.js +1421 -0
- package/dist/dashboard/ui.js.map +1 -0
- package/dist/embeddings/index.d.ts +20 -2
- package/dist/embeddings/index.d.ts.map +1 -1
- package/dist/embeddings/index.js +49 -6
- package/dist/embeddings/index.js.map +1 -1
- package/dist/embeddings/jina.d.ts +9 -0
- package/dist/embeddings/jina.d.ts.map +1 -1
- package/dist/embeddings/jina.js +42 -2
- package/dist/embeddings/jina.js.map +1 -1
- package/dist/embeddings/ollama.d.ts +2 -0
- package/dist/embeddings/ollama.d.ts.map +1 -1
- package/dist/embeddings/ollama.js +21 -5
- package/dist/embeddings/ollama.js.map +1 -1
- package/dist/embeddings/rate-limiter.d.ts +75 -0
- package/dist/embeddings/rate-limiter.d.ts.map +1 -0
- package/dist/embeddings/rate-limiter.js +145 -0
- package/dist/embeddings/rate-limiter.js.map +1 -0
- package/dist/embeddings/retry.d.ts +14 -0
- package/dist/embeddings/retry.d.ts.map +1 -0
- package/dist/embeddings/retry.js +89 -0
- package/dist/embeddings/retry.js.map +1 -0
- package/dist/embeddings/types.d.ts +56 -2
- package/dist/embeddings/types.d.ts.map +1 -1
- package/dist/embeddings/types.js +16 -0
- package/dist/embeddings/types.js.map +1 -1
- package/dist/index.js +1871 -44
- package/dist/index.js.map +1 -1
- package/dist/memory/index.d.ts +63 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +168 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/search/ast-chunker.d.ts +34 -0
- package/dist/search/ast-chunker.d.ts.map +1 -0
- package/dist/search/ast-chunker.js +261 -0
- package/dist/search/ast-chunker.js.map +1 -0
- package/dist/search/clustering.d.ts +77 -0
- package/dist/search/clustering.d.ts.map +1 -0
- package/dist/search/clustering.js +455 -0
- package/dist/search/clustering.js.map +1 -0
- package/dist/search/indexer.d.ts +239 -3
- package/dist/search/indexer.d.ts.map +1 -1
- package/dist/search/indexer.js +941 -45
- package/dist/search/indexer.js.map +1 -1
- package/dist/search/tree-sitter-chunker.d.ts +69 -0
- package/dist/search/tree-sitter-chunker.d.ts.map +1 -0
- package/dist/search/tree-sitter-chunker.js +436 -0
- package/dist/search/tree-sitter-chunker.js.map +1 -0
- package/dist/symbols/index.d.ts +14 -0
- package/dist/symbols/index.d.ts.map +1 -0
- package/dist/symbols/index.js +19 -0
- package/dist/symbols/index.js.map +1 -0
- package/dist/symbols/name-path.d.ts +113 -0
- package/dist/symbols/name-path.d.ts.map +1 -0
- package/dist/symbols/name-path.js +194 -0
- package/dist/symbols/name-path.js.map +1 -0
- package/dist/symbols/pattern-search.d.ts +14 -0
- package/dist/symbols/pattern-search.d.ts.map +1 -0
- package/dist/symbols/pattern-search.js +224 -0
- package/dist/symbols/pattern-search.js.map +1 -0
- package/dist/symbols/reference-finder.d.ts +38 -0
- package/dist/symbols/reference-finder.d.ts.map +1 -0
- package/dist/symbols/reference-finder.js +376 -0
- package/dist/symbols/reference-finder.js.map +1 -0
- package/dist/symbols/symbol-editor.d.ts +81 -0
- package/dist/symbols/symbol-editor.d.ts.map +1 -0
- package/dist/symbols/symbol-editor.js +257 -0
- package/dist/symbols/symbol-editor.js.map +1 -0
- package/dist/symbols/symbol-extractor.d.ts +49 -0
- package/dist/symbols/symbol-extractor.d.ts.map +1 -0
- package/dist/symbols/symbol-extractor.js +593 -0
- package/dist/symbols/symbol-extractor.js.map +1 -0
- package/dist/symbols/symbol-renamer.d.ts +81 -0
- package/dist/symbols/symbol-renamer.d.ts.map +1 -0
- package/dist/symbols/symbol-renamer.js +204 -0
- package/dist/symbols/symbol-renamer.js.map +1 -0
- package/dist/symbols/types.d.ts +234 -0
- package/dist/symbols/types.d.ts.map +1 -0
- package/dist/symbols/types.js +106 -0
- package/dist/symbols/types.js.map +1 -0
- package/dist/utils/concurrency.d.ts +32 -0
- package/dist/utils/concurrency.d.ts.map +1 -0
- package/dist/utils/concurrency.js +57 -0
- package/dist/utils/concurrency.js.map +1 -0
- package/dist/utils/errors.d.ts +36 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +91 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/type-guards.d.ts +17 -0
- package/dist/utils/type-guards.d.ts.map +1 -0
- package/dist/utils/type-guards.js +25 -0
- package/dist/utils/type-guards.js.map +1 -0
- package/dist/worktree/index.d.ts +6 -0
- package/dist/worktree/index.d.ts.map +1 -0
- package/dist/worktree/index.js +6 -0
- package/dist/worktree/index.js.map +1 -0
- package/dist/worktree/types.d.ts +101 -0
- package/dist/worktree/types.d.ts.map +1 -0
- package/dist/worktree/types.js +6 -0
- package/dist/worktree/types.js.map +1 -0
- package/dist/worktree/worktree-manager.d.ts +80 -0
- package/dist/worktree/worktree-manager.d.ts.map +1 -0
- package/dist/worktree/worktree-manager.js +407 -0
- package/dist/worktree/worktree-manager.js.map +1 -0
- package/package.json +39 -5
- package/scripts/postinstall.js +48 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import * as http from 'http';
|
|
2
|
+
import * as net from 'net';
|
|
3
|
+
import { handleRequest } from './routes.js';
|
|
4
|
+
import { sseManager } from './events.js';
|
|
5
|
+
const DEFAULT_PORT = 24300;
|
|
6
|
+
const PORT_RANGE = 100;
|
|
7
|
+
/**
|
|
8
|
+
* Check if a port is available
|
|
9
|
+
*/
|
|
10
|
+
export async function isPortAvailable(port) {
|
|
11
|
+
return new Promise((resolve) => {
|
|
12
|
+
const server = net.createServer();
|
|
13
|
+
server.once('error', () => {
|
|
14
|
+
resolve(false);
|
|
15
|
+
});
|
|
16
|
+
server.once('listening', () => {
|
|
17
|
+
server.close();
|
|
18
|
+
resolve(true);
|
|
19
|
+
});
|
|
20
|
+
server.listen(port, '127.0.0.1');
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Find an available port starting from the given port
|
|
25
|
+
*/
|
|
26
|
+
export async function findAvailablePort(startPort = DEFAULT_PORT) {
|
|
27
|
+
for (let port = startPort; port < startPort + PORT_RANGE; port++) {
|
|
28
|
+
if (await isPortAvailable(port)) {
|
|
29
|
+
return port;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
throw new Error(`No available port found in range ${startPort}-${startPort + PORT_RANGE - 1}`);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Start the dashboard HTTP server
|
|
36
|
+
*/
|
|
37
|
+
export async function startServer(port) {
|
|
38
|
+
const actualPort = port ?? (await findAvailablePort());
|
|
39
|
+
const server = http.createServer((req, res) => {
|
|
40
|
+
handleRequest(req, res);
|
|
41
|
+
});
|
|
42
|
+
// Start the SSE heartbeat
|
|
43
|
+
sseManager.startHeartbeat();
|
|
44
|
+
return new Promise((resolve, reject) => {
|
|
45
|
+
server.once('error', (err) => {
|
|
46
|
+
reject(err);
|
|
47
|
+
});
|
|
48
|
+
server.listen(actualPort, '127.0.0.1', () => {
|
|
49
|
+
// Get the actual port from the server (important when port 0 is used)
|
|
50
|
+
const address = server.address();
|
|
51
|
+
const boundPort = typeof address === 'object' && address ? address.port : actualPort;
|
|
52
|
+
const url = `http://127.0.0.1:${boundPort}`;
|
|
53
|
+
resolve({
|
|
54
|
+
server,
|
|
55
|
+
port: boundPort,
|
|
56
|
+
url,
|
|
57
|
+
stop: async () => {
|
|
58
|
+
sseManager.closeAll();
|
|
59
|
+
return new Promise((resolveClose, rejectClose) => {
|
|
60
|
+
server.close((err) => {
|
|
61
|
+
if (err)
|
|
62
|
+
rejectClose(err);
|
|
63
|
+
else
|
|
64
|
+
resolveClose();
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/dashboard/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
2
|
+
import type { CodeIndexer, IndexStatus, IndexProgress } from '../search/indexer.js';
|
|
3
|
+
import type { LanceContextConfig } from '../config.js';
|
|
4
|
+
/**
|
|
5
|
+
* Command names that can be tracked
|
|
6
|
+
*/
|
|
7
|
+
export type CommandName = 'index_codebase' | 'search_code' | 'search_similar' | 'get_index_status' | 'clear_index' | 'get_project_instructions' | 'commit' | 'get_symbols_overview' | 'find_symbol' | 'find_referencing_symbols' | 'search_for_pattern' | 'replace_symbol_body' | 'insert_before_symbol' | 'insert_after_symbol' | 'rename_symbol' | 'write_memory' | 'read_memory' | 'list_memories' | 'delete_memory' | 'edit_memory' | 'create_worktree' | 'list_worktrees' | 'remove_worktree' | 'worktree_status' | 'list_concepts' | 'search_by_concept' | 'summarize_codebase';
|
|
8
|
+
/**
|
|
9
|
+
* Command usage statistics
|
|
10
|
+
*/
|
|
11
|
+
export interface CommandUsage {
|
|
12
|
+
command: CommandName;
|
|
13
|
+
count: number;
|
|
14
|
+
label: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Events emitted by the DashboardStateManager
|
|
18
|
+
*/
|
|
19
|
+
export interface DashboardStateEvents {
|
|
20
|
+
progress: (progress: IndexProgress) => void;
|
|
21
|
+
'indexing:start': () => void;
|
|
22
|
+
'indexing:complete': (result: {
|
|
23
|
+
filesIndexed: number;
|
|
24
|
+
chunksCreated: number;
|
|
25
|
+
}) => void;
|
|
26
|
+
'status:change': (status: IndexStatus) => void;
|
|
27
|
+
'usage:update': (usage: CommandUsage[]) => void;
|
|
28
|
+
}
|
|
29
|
+
export declare class DashboardStateManager extends EventEmitter {
|
|
30
|
+
private indexer;
|
|
31
|
+
private config;
|
|
32
|
+
private projectPath;
|
|
33
|
+
private version;
|
|
34
|
+
private isIndexing;
|
|
35
|
+
private lastProgress;
|
|
36
|
+
private commandUsage;
|
|
37
|
+
/**
|
|
38
|
+
* Get the path to the usage file
|
|
39
|
+
*/
|
|
40
|
+
private getUsageFilePath;
|
|
41
|
+
/**
|
|
42
|
+
* Load command usage from disk
|
|
43
|
+
*/
|
|
44
|
+
private loadUsageFromDisk;
|
|
45
|
+
/**
|
|
46
|
+
* Save command usage to disk
|
|
47
|
+
*/
|
|
48
|
+
private saveUsageToDisk;
|
|
49
|
+
/**
|
|
50
|
+
* Set the indexer instance for the dashboard to use
|
|
51
|
+
*/
|
|
52
|
+
setIndexer(indexer: CodeIndexer): void;
|
|
53
|
+
/**
|
|
54
|
+
* Set the configuration for the dashboard to display
|
|
55
|
+
*/
|
|
56
|
+
setConfig(config: LanceContextConfig): void;
|
|
57
|
+
/**
|
|
58
|
+
* Set the project path
|
|
59
|
+
*/
|
|
60
|
+
setProjectPath(projectPath: string): void;
|
|
61
|
+
/**
|
|
62
|
+
* Set the package version
|
|
63
|
+
*/
|
|
64
|
+
setVersion(version: string): void;
|
|
65
|
+
/**
|
|
66
|
+
* Get the package version
|
|
67
|
+
*/
|
|
68
|
+
getVersion(): string | null;
|
|
69
|
+
/**
|
|
70
|
+
* Get the current index status
|
|
71
|
+
*/
|
|
72
|
+
getStatus(): Promise<IndexStatus | null>;
|
|
73
|
+
/**
|
|
74
|
+
* Get the current configuration
|
|
75
|
+
*/
|
|
76
|
+
getConfig(): LanceContextConfig | null;
|
|
77
|
+
/**
|
|
78
|
+
* Get the project path
|
|
79
|
+
*/
|
|
80
|
+
getProjectPath(): string | null;
|
|
81
|
+
/**
|
|
82
|
+
* Check if indexing is in progress
|
|
83
|
+
*/
|
|
84
|
+
isIndexingInProgress(): boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Get the last progress update
|
|
87
|
+
*/
|
|
88
|
+
getLastProgress(): IndexProgress | null;
|
|
89
|
+
/**
|
|
90
|
+
* Called when indexing starts
|
|
91
|
+
*/
|
|
92
|
+
onIndexingStart(): void;
|
|
93
|
+
/**
|
|
94
|
+
* Called with progress updates during indexing
|
|
95
|
+
*/
|
|
96
|
+
onProgress(progress: IndexProgress): void;
|
|
97
|
+
/**
|
|
98
|
+
* Called when indexing completes
|
|
99
|
+
*/
|
|
100
|
+
onIndexingComplete(result: {
|
|
101
|
+
filesIndexed: number;
|
|
102
|
+
chunksCreated: number;
|
|
103
|
+
}): void;
|
|
104
|
+
/**
|
|
105
|
+
* Called when status changes
|
|
106
|
+
*/
|
|
107
|
+
onStatusChange(status: IndexStatus): void;
|
|
108
|
+
/**
|
|
109
|
+
* Record a command usage
|
|
110
|
+
*/
|
|
111
|
+
recordCommandUsage(command: CommandName): void;
|
|
112
|
+
/**
|
|
113
|
+
* Get command usage statistics
|
|
114
|
+
*/
|
|
115
|
+
getCommandUsage(): CommandUsage[];
|
|
116
|
+
/**
|
|
117
|
+
* Get total command count for percentage calculations
|
|
118
|
+
*/
|
|
119
|
+
getTotalCommandCount(): number;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Singleton instance of the dashboard state manager
|
|
123
|
+
*/
|
|
124
|
+
export declare const dashboardState: DashboardStateManager;
|
|
125
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/dashboard/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,gBAAgB,GAChB,aAAa,GACb,gBAAgB,GAChB,kBAAkB,GAClB,aAAa,GACb,0BAA0B,GAC1B,QAAQ,GAER,sBAAsB,GACtB,aAAa,GACb,0BAA0B,GAC1B,oBAAoB,GACpB,qBAAqB,GACrB,sBAAsB,GACtB,qBAAqB,GACrB,eAAe,GAEf,cAAc,GACd,aAAa,GACb,eAAe,GACf,eAAe,GACf,aAAa,GAEb,iBAAiB,GACjB,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,GAEjB,eAAe,GACf,mBAAmB,GACnB,oBAAoB,CAAC;AAEzB;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,mBAAmB,EAAE,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACvF,eAAe,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAC/C,cAAc,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;CACjD;AA2CD,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,YAAY,CAAuC;IAE3D;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAItC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAI3C;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAKzC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;IAI3B;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAO9C;;OAEG;IACH,SAAS,IAAI,kBAAkB,GAAG,IAAI;IAItC;;OAEG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;OAEG;IACH,eAAe,IAAI,aAAa,GAAG,IAAI;IAIvC;;OAEG;IACH,eAAe,IAAI,IAAI;IAMvB;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAKzC;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAMjF;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIzC;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAS9C;;OAEG;IACH,eAAe,IAAI,YAAY,EAAE;IA6CjC;;OAEG;IACH,oBAAoB,IAAI,MAAM;CAO/B;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,uBAA8B,CAAC"}
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
2
|
+
import * as fs from 'fs';
|
|
3
|
+
import * as path from 'path';
|
|
4
|
+
/**
|
|
5
|
+
* Manages the shared state for the dashboard.
|
|
6
|
+
* Acts as a bridge between the indexer and the dashboard.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Human-readable labels for commands
|
|
10
|
+
*/
|
|
11
|
+
const COMMAND_LABELS = {
|
|
12
|
+
index_codebase: 'Index Codebase',
|
|
13
|
+
search_code: 'Search Code',
|
|
14
|
+
search_similar: 'Search Similar',
|
|
15
|
+
get_index_status: 'Get Status',
|
|
16
|
+
clear_index: 'Clear Index',
|
|
17
|
+
get_project_instructions: 'Get Instructions',
|
|
18
|
+
commit: 'Commit',
|
|
19
|
+
// Symbolic analysis tools
|
|
20
|
+
get_symbols_overview: 'Symbols Overview',
|
|
21
|
+
find_symbol: 'Find Symbol',
|
|
22
|
+
find_referencing_symbols: 'Find References',
|
|
23
|
+
search_for_pattern: 'Pattern Search',
|
|
24
|
+
replace_symbol_body: 'Replace Symbol',
|
|
25
|
+
insert_before_symbol: 'Insert Before',
|
|
26
|
+
insert_after_symbol: 'Insert After',
|
|
27
|
+
rename_symbol: 'Rename Symbol',
|
|
28
|
+
// Memory tools
|
|
29
|
+
write_memory: 'Write Memory',
|
|
30
|
+
read_memory: 'Read Memory',
|
|
31
|
+
list_memories: 'List Memories',
|
|
32
|
+
delete_memory: 'Delete Memory',
|
|
33
|
+
edit_memory: 'Edit Memory',
|
|
34
|
+
// Worktree tools
|
|
35
|
+
create_worktree: 'Create Worktree',
|
|
36
|
+
list_worktrees: 'List Worktrees',
|
|
37
|
+
remove_worktree: 'Remove Worktree',
|
|
38
|
+
worktree_status: 'Worktree Status',
|
|
39
|
+
// Clustering tools
|
|
40
|
+
list_concepts: 'List Concepts',
|
|
41
|
+
search_by_concept: 'Search by Concept',
|
|
42
|
+
summarize_codebase: 'Summarize Codebase',
|
|
43
|
+
};
|
|
44
|
+
export class DashboardStateManager extends EventEmitter {
|
|
45
|
+
indexer = null;
|
|
46
|
+
config = null;
|
|
47
|
+
projectPath = null;
|
|
48
|
+
version = null;
|
|
49
|
+
isIndexing = false;
|
|
50
|
+
lastProgress = null;
|
|
51
|
+
commandUsage = new Map();
|
|
52
|
+
/**
|
|
53
|
+
* Get the path to the usage file
|
|
54
|
+
*/
|
|
55
|
+
getUsageFilePath() {
|
|
56
|
+
if (!this.projectPath)
|
|
57
|
+
return null;
|
|
58
|
+
return path.join(this.projectPath, '.lance-context', 'usage.json');
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Load command usage from disk
|
|
62
|
+
*/
|
|
63
|
+
loadUsageFromDisk() {
|
|
64
|
+
const filePath = this.getUsageFilePath();
|
|
65
|
+
if (!filePath)
|
|
66
|
+
return;
|
|
67
|
+
try {
|
|
68
|
+
if (fs.existsSync(filePath)) {
|
|
69
|
+
const data = JSON.parse(fs.readFileSync(filePath, 'utf-8'));
|
|
70
|
+
this.commandUsage.clear();
|
|
71
|
+
for (const [cmd, count] of Object.entries(data)) {
|
|
72
|
+
if (typeof count === 'number') {
|
|
73
|
+
this.commandUsage.set(cmd, count);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
// Ignore errors, start with empty usage
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Save command usage to disk
|
|
84
|
+
*/
|
|
85
|
+
saveUsageToDisk() {
|
|
86
|
+
const filePath = this.getUsageFilePath();
|
|
87
|
+
if (!filePath)
|
|
88
|
+
return;
|
|
89
|
+
try {
|
|
90
|
+
const data = {};
|
|
91
|
+
for (const [cmd, count] of this.commandUsage) {
|
|
92
|
+
data[cmd] = count;
|
|
93
|
+
}
|
|
94
|
+
fs.writeFileSync(filePath, JSON.stringify(data, null, 2));
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
// Ignore errors
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Set the indexer instance for the dashboard to use
|
|
102
|
+
*/
|
|
103
|
+
setIndexer(indexer) {
|
|
104
|
+
this.indexer = indexer;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Set the configuration for the dashboard to display
|
|
108
|
+
*/
|
|
109
|
+
setConfig(config) {
|
|
110
|
+
this.config = config;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Set the project path
|
|
114
|
+
*/
|
|
115
|
+
setProjectPath(projectPath) {
|
|
116
|
+
this.projectPath = projectPath;
|
|
117
|
+
this.loadUsageFromDisk();
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Set the package version
|
|
121
|
+
*/
|
|
122
|
+
setVersion(version) {
|
|
123
|
+
this.version = version;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Get the package version
|
|
127
|
+
*/
|
|
128
|
+
getVersion() {
|
|
129
|
+
return this.version;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Get the current index status
|
|
133
|
+
*/
|
|
134
|
+
async getStatus() {
|
|
135
|
+
if (!this.indexer) {
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
return this.indexer.getStatus();
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Get the current configuration
|
|
142
|
+
*/
|
|
143
|
+
getConfig() {
|
|
144
|
+
return this.config;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Get the project path
|
|
148
|
+
*/
|
|
149
|
+
getProjectPath() {
|
|
150
|
+
return this.projectPath;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Check if indexing is in progress
|
|
154
|
+
*/
|
|
155
|
+
isIndexingInProgress() {
|
|
156
|
+
return this.isIndexing;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Get the last progress update
|
|
160
|
+
*/
|
|
161
|
+
getLastProgress() {
|
|
162
|
+
return this.lastProgress;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Called when indexing starts
|
|
166
|
+
*/
|
|
167
|
+
onIndexingStart() {
|
|
168
|
+
this.isIndexing = true;
|
|
169
|
+
this.lastProgress = null;
|
|
170
|
+
this.emit('indexing:start');
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Called with progress updates during indexing
|
|
174
|
+
*/
|
|
175
|
+
onProgress(progress) {
|
|
176
|
+
this.lastProgress = progress;
|
|
177
|
+
this.emit('progress', progress);
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Called when indexing completes
|
|
181
|
+
*/
|
|
182
|
+
onIndexingComplete(result) {
|
|
183
|
+
this.isIndexing = false;
|
|
184
|
+
this.lastProgress = null;
|
|
185
|
+
this.emit('indexing:complete', result);
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Called when status changes
|
|
189
|
+
*/
|
|
190
|
+
onStatusChange(status) {
|
|
191
|
+
this.emit('status:change', status);
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Record a command usage
|
|
195
|
+
*/
|
|
196
|
+
recordCommandUsage(command) {
|
|
197
|
+
// Reload from disk to get latest counts (in case another process updated)
|
|
198
|
+
this.loadUsageFromDisk();
|
|
199
|
+
const current = this.commandUsage.get(command) || 0;
|
|
200
|
+
this.commandUsage.set(command, current + 1);
|
|
201
|
+
this.saveUsageToDisk();
|
|
202
|
+
this.emit('usage:update', this.getCommandUsage());
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Get command usage statistics
|
|
206
|
+
*/
|
|
207
|
+
getCommandUsage() {
|
|
208
|
+
// Reload from disk to get latest counts (in case another process updated)
|
|
209
|
+
this.loadUsageFromDisk();
|
|
210
|
+
const allCommands = [
|
|
211
|
+
'search_code',
|
|
212
|
+
'search_similar',
|
|
213
|
+
'index_codebase',
|
|
214
|
+
'get_index_status',
|
|
215
|
+
'clear_index',
|
|
216
|
+
'get_project_instructions',
|
|
217
|
+
'commit',
|
|
218
|
+
// Symbolic analysis
|
|
219
|
+
'get_symbols_overview',
|
|
220
|
+
'find_symbol',
|
|
221
|
+
'find_referencing_symbols',
|
|
222
|
+
'search_for_pattern',
|
|
223
|
+
'replace_symbol_body',
|
|
224
|
+
'insert_before_symbol',
|
|
225
|
+
'insert_after_symbol',
|
|
226
|
+
'rename_symbol',
|
|
227
|
+
// Memory
|
|
228
|
+
'write_memory',
|
|
229
|
+
'read_memory',
|
|
230
|
+
'list_memories',
|
|
231
|
+
'delete_memory',
|
|
232
|
+
'edit_memory',
|
|
233
|
+
// Worktree
|
|
234
|
+
'create_worktree',
|
|
235
|
+
'list_worktrees',
|
|
236
|
+
'remove_worktree',
|
|
237
|
+
'worktree_status',
|
|
238
|
+
// Clustering
|
|
239
|
+
'list_concepts',
|
|
240
|
+
'search_by_concept',
|
|
241
|
+
'summarize_codebase',
|
|
242
|
+
];
|
|
243
|
+
return allCommands.map((command) => ({
|
|
244
|
+
command,
|
|
245
|
+
count: this.commandUsage.get(command) || 0,
|
|
246
|
+
label: COMMAND_LABELS[command],
|
|
247
|
+
}));
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Get total command count for percentage calculations
|
|
251
|
+
*/
|
|
252
|
+
getTotalCommandCount() {
|
|
253
|
+
let total = 0;
|
|
254
|
+
for (const count of this.commandUsage.values()) {
|
|
255
|
+
total += count;
|
|
256
|
+
}
|
|
257
|
+
return total;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Singleton instance of the dashboard state manager
|
|
262
|
+
*/
|
|
263
|
+
export const dashboardState = new DashboardStateManager();
|
|
264
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/dashboard/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/dashboard/ui.ts"],"names":[],"mappings":"AAkCA;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAu2CzC"}
|