driftdetect-core 0.4.0 → 0.4.2
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/dist/boundaries/boundary-scanner.d.ts +76 -0
- package/dist/boundaries/boundary-scanner.d.ts.map +1 -0
- package/dist/boundaries/boundary-scanner.js +801 -0
- package/dist/boundaries/boundary-scanner.js.map +1 -0
- package/dist/boundaries/data-access-learner.d.ts +126 -0
- package/dist/boundaries/data-access-learner.d.ts.map +1 -0
- package/dist/boundaries/data-access-learner.js +486 -0
- package/dist/boundaries/data-access-learner.js.map +1 -0
- package/dist/boundaries/index.d.ts +6 -0
- package/dist/boundaries/index.d.ts.map +1 -1
- package/dist/boundaries/index.js +6 -0
- package/dist/boundaries/index.js.map +1 -1
- package/dist/boundaries/security-prioritizer.d.ts +118 -0
- package/dist/boundaries/security-prioritizer.d.ts.map +1 -0
- package/dist/boundaries/security-prioritizer.js +316 -0
- package/dist/boundaries/security-prioritizer.js.map +1 -0
- package/dist/call-graph/analysis/coverage-analyzer.d.ts +201 -0
- package/dist/call-graph/analysis/coverage-analyzer.d.ts.map +1 -0
- package/dist/call-graph/analysis/coverage-analyzer.js +553 -0
- package/dist/call-graph/analysis/coverage-analyzer.js.map +1 -0
- package/dist/call-graph/analysis/dead-code-detector.d.ts +145 -0
- package/dist/call-graph/analysis/dead-code-detector.d.ts.map +1 -0
- package/dist/call-graph/analysis/dead-code-detector.js +391 -0
- package/dist/call-graph/analysis/dead-code-detector.js.map +1 -0
- package/dist/call-graph/analysis/graph-builder.d.ts +142 -0
- package/dist/call-graph/analysis/graph-builder.d.ts.map +1 -0
- package/dist/call-graph/analysis/graph-builder.js +624 -0
- package/dist/call-graph/analysis/graph-builder.js.map +1 -0
- package/dist/call-graph/analysis/impact-analyzer.d.ts +150 -0
- package/dist/call-graph/analysis/impact-analyzer.d.ts.map +1 -0
- package/dist/call-graph/analysis/impact-analyzer.js +329 -0
- package/dist/call-graph/analysis/impact-analyzer.js.map +1 -0
- package/dist/call-graph/analysis/index.d.ts +11 -0
- package/dist/call-graph/analysis/index.d.ts.map +1 -0
- package/dist/call-graph/analysis/index.js +9 -0
- package/dist/call-graph/analysis/index.js.map +1 -0
- package/dist/call-graph/analysis/path-finder.d.ts +117 -0
- package/dist/call-graph/analysis/path-finder.d.ts.map +1 -0
- package/dist/call-graph/analysis/path-finder.js +360 -0
- package/dist/call-graph/analysis/path-finder.js.map +1 -0
- package/dist/call-graph/analysis/reachability.d.ts +56 -0
- package/dist/call-graph/analysis/reachability.d.ts.map +1 -0
- package/dist/call-graph/analysis/reachability.js +357 -0
- package/dist/call-graph/analysis/reachability.js.map +1 -0
- package/dist/call-graph/demo.d.ts +11 -0
- package/dist/call-graph/demo.d.ts.map +1 -0
- package/dist/call-graph/demo.js +339 -0
- package/dist/call-graph/demo.js.map +1 -0
- package/dist/call-graph/enrichment/enrichment-engine.d.ts +126 -0
- package/dist/call-graph/enrichment/enrichment-engine.d.ts.map +1 -0
- package/dist/call-graph/enrichment/enrichment-engine.js +760 -0
- package/dist/call-graph/enrichment/enrichment-engine.js.map +1 -0
- package/dist/call-graph/enrichment/impact-scorer.d.ts +59 -0
- package/dist/call-graph/enrichment/impact-scorer.d.ts.map +1 -0
- package/dist/call-graph/enrichment/impact-scorer.js +328 -0
- package/dist/call-graph/enrichment/impact-scorer.js.map +1 -0
- package/dist/call-graph/enrichment/index.d.ts +12 -0
- package/dist/call-graph/enrichment/index.d.ts.map +1 -0
- package/dist/call-graph/enrichment/index.js +15 -0
- package/dist/call-graph/enrichment/index.js.map +1 -0
- package/dist/call-graph/enrichment/remediation-generator.d.ts +41 -0
- package/dist/call-graph/enrichment/remediation-generator.d.ts.map +1 -0
- package/dist/call-graph/enrichment/remediation-generator.js +609 -0
- package/dist/call-graph/enrichment/remediation-generator.js.map +1 -0
- package/dist/call-graph/enrichment/sensitivity-classifier.d.ts +71 -0
- package/dist/call-graph/enrichment/sensitivity-classifier.d.ts.map +1 -0
- package/dist/call-graph/enrichment/sensitivity-classifier.js +454 -0
- package/dist/call-graph/enrichment/sensitivity-classifier.js.map +1 -0
- package/dist/call-graph/enrichment/types.d.ts +402 -0
- package/dist/call-graph/enrichment/types.d.ts.map +1 -0
- package/dist/call-graph/enrichment/types.js +9 -0
- package/dist/call-graph/enrichment/types.js.map +1 -0
- package/dist/call-graph/extractors/base-extractor.d.ts +112 -0
- package/dist/call-graph/extractors/base-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/base-extractor.js +140 -0
- package/dist/call-graph/extractors/base-extractor.js.map +1 -0
- package/dist/call-graph/extractors/csharp-data-access-extractor.d.ts +76 -0
- package/dist/call-graph/extractors/csharp-data-access-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/csharp-data-access-extractor.js +387 -0
- package/dist/call-graph/extractors/csharp-data-access-extractor.js.map +1 -0
- package/dist/call-graph/extractors/csharp-extractor.d.ts +87 -0
- package/dist/call-graph/extractors/csharp-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/csharp-extractor.js +470 -0
- package/dist/call-graph/extractors/csharp-extractor.js.map +1 -0
- package/dist/call-graph/extractors/data-access-extractor.d.ts +76 -0
- package/dist/call-graph/extractors/data-access-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/data-access-extractor.js +234 -0
- package/dist/call-graph/extractors/data-access-extractor.js.map +1 -0
- package/dist/call-graph/extractors/index.d.ts +26 -0
- package/dist/call-graph/extractors/index.d.ts.map +1 -0
- package/dist/call-graph/extractors/index.js +36 -0
- package/dist/call-graph/extractors/index.js.map +1 -0
- package/dist/call-graph/extractors/java-data-access-extractor.d.ts +101 -0
- package/dist/call-graph/extractors/java-data-access-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/java-data-access-extractor.js +611 -0
- package/dist/call-graph/extractors/java-data-access-extractor.js.map +1 -0
- package/dist/call-graph/extractors/java-extractor.d.ts +87 -0
- package/dist/call-graph/extractors/java-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/java-extractor.js +510 -0
- package/dist/call-graph/extractors/java-extractor.js.map +1 -0
- package/dist/call-graph/extractors/php-data-access-extractor.d.ts +93 -0
- package/dist/call-graph/extractors/php-data-access-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/php-data-access-extractor.js +589 -0
- package/dist/call-graph/extractors/php-data-access-extractor.js.map +1 -0
- package/dist/call-graph/extractors/php-extractor.d.ts +104 -0
- package/dist/call-graph/extractors/php-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/php-extractor.js +619 -0
- package/dist/call-graph/extractors/php-extractor.js.map +1 -0
- package/dist/call-graph/extractors/python-data-access-extractor.d.ts +90 -0
- package/dist/call-graph/extractors/python-data-access-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/python-data-access-extractor.js +537 -0
- package/dist/call-graph/extractors/python-data-access-extractor.js.map +1 -0
- package/dist/call-graph/extractors/python-extractor.d.ts +98 -0
- package/dist/call-graph/extractors/python-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/python-extractor.js +681 -0
- package/dist/call-graph/extractors/python-extractor.js.map +1 -0
- package/dist/call-graph/extractors/semantic-data-access-scanner.d.ts +91 -0
- package/dist/call-graph/extractors/semantic-data-access-scanner.d.ts.map +1 -0
- package/dist/call-graph/extractors/semantic-data-access-scanner.js +498 -0
- package/dist/call-graph/extractors/semantic-data-access-scanner.js.map +1 -0
- package/dist/call-graph/extractors/typescript-data-access-extractor.d.ts +122 -0
- package/dist/call-graph/extractors/typescript-data-access-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/typescript-data-access-extractor.js +788 -0
- package/dist/call-graph/extractors/typescript-data-access-extractor.js.map +1 -0
- package/dist/call-graph/extractors/typescript-extractor.d.ts +145 -0
- package/dist/call-graph/extractors/typescript-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/typescript-extractor.js +904 -0
- package/dist/call-graph/extractors/typescript-extractor.js.map +1 -0
- package/dist/call-graph/index.d.ts +127 -0
- package/dist/call-graph/index.d.ts.map +1 -0
- package/dist/call-graph/index.js +247 -0
- package/dist/call-graph/index.js.map +1 -0
- package/dist/call-graph/store/call-graph-store.d.ts +70 -0
- package/dist/call-graph/store/call-graph-store.d.ts.map +1 -0
- package/dist/call-graph/store/call-graph-store.js +210 -0
- package/dist/call-graph/store/call-graph-store.js.map +1 -0
- package/dist/call-graph/store/index.d.ts +7 -0
- package/dist/call-graph/store/index.d.ts.map +1 -0
- package/dist/call-graph/store/index.js +7 -0
- package/dist/call-graph/store/index.js.map +1 -0
- package/dist/call-graph/types.d.ts +376 -0
- package/dist/call-graph/types.d.ts.map +1 -0
- package/dist/call-graph/types.js +8 -0
- package/dist/call-graph/types.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/lake/callgraph-shard-store.d.ts +168 -0
- package/dist/lake/callgraph-shard-store.d.ts.map +1 -0
- package/dist/lake/callgraph-shard-store.js +466 -0
- package/dist/lake/callgraph-shard-store.js.map +1 -0
- package/dist/lake/examples-store.d.ts +127 -0
- package/dist/lake/examples-store.d.ts.map +1 -0
- package/dist/lake/examples-store.js +389 -0
- package/dist/lake/examples-store.js.map +1 -0
- package/dist/lake/index-store.d.ts +82 -0
- package/dist/lake/index-store.d.ts.map +1 -0
- package/dist/lake/index-store.js +359 -0
- package/dist/lake/index-store.js.map +1 -0
- package/dist/lake/index.d.ts +93 -0
- package/dist/lake/index.d.ts.map +1 -0
- package/dist/lake/index.js +138 -0
- package/dist/lake/index.js.map +1 -0
- package/dist/lake/lake.bak/index-store.d.ts +82 -0
- package/dist/lake/lake.bak/index-store.d.ts.map +1 -0
- package/dist/lake/lake.bak/index-store.js +357 -0
- package/dist/lake/lake.bak/index-store.js.map +1 -0
- package/dist/lake/lake.bak/index.d.ts +81 -0
- package/dist/lake/lake.bak/index.d.ts.map +1 -0
- package/dist/lake/lake.bak/index.js +114 -0
- package/dist/lake/lake.bak/index.js.map +1 -0
- package/dist/lake/lake.bak/manifest-store.d.ts +51 -0
- package/dist/lake/lake.bak/manifest-store.d.ts.map +1 -0
- package/dist/lake/lake.bak/manifest-store.js +347 -0
- package/dist/lake/lake.bak/manifest-store.js.map +1 -0
- package/dist/lake/lake.bak/query-engine.d.ts +112 -0
- package/dist/lake/lake.bak/query-engine.d.ts.map +1 -0
- package/dist/lake/lake.bak/query-engine.js +370 -0
- package/dist/lake/lake.bak/query-engine.js.map +1 -0
- package/dist/lake/lake.bak/types.d.ts +428 -0
- package/dist/lake/lake.bak/types.d.ts.map +1 -0
- package/dist/lake/lake.bak/types.js +46 -0
- package/dist/lake/lake.bak/types.js.map +1 -0
- package/dist/lake/lake.bak/view-materializer.d.ts +70 -0
- package/dist/lake/lake.bak/view-materializer.d.ts.map +1 -0
- package/dist/lake/lake.bak/view-materializer.js +314 -0
- package/dist/lake/lake.bak/view-materializer.js.map +1 -0
- package/dist/lake/lake.bak/view-store.d.ts +57 -0
- package/dist/lake/lake.bak/view-store.d.ts.map +1 -0
- package/dist/lake/lake.bak/view-store.js +348 -0
- package/dist/lake/lake.bak/view-store.js.map +1 -0
- package/dist/lake/manifest-store.d.ts +51 -0
- package/dist/lake/manifest-store.d.ts.map +1 -0
- package/dist/lake/manifest-store.js +348 -0
- package/dist/lake/manifest-store.js.map +1 -0
- package/dist/lake/pattern-shard-store.d.ts +87 -0
- package/dist/lake/pattern-shard-store.d.ts.map +1 -0
- package/dist/lake/pattern-shard-store.js +347 -0
- package/dist/lake/pattern-shard-store.js.map +1 -0
- package/dist/lake/query-engine.d.ts +124 -0
- package/dist/lake/query-engine.d.ts.map +1 -0
- package/dist/lake/query-engine.js +453 -0
- package/dist/lake/query-engine.js.map +1 -0
- package/dist/lake/security-shard-store.d.ts +156 -0
- package/dist/lake/security-shard-store.d.ts.map +1 -0
- package/dist/lake/security-shard-store.js +498 -0
- package/dist/lake/security-shard-store.js.map +1 -0
- package/dist/lake/types.d.ts +428 -0
- package/dist/lake/types.d.ts.map +1 -0
- package/dist/lake/types.js +46 -0
- package/dist/lake/types.js.map +1 -0
- package/dist/lake/view-materializer.d.ts +70 -0
- package/dist/lake/view-materializer.d.ts.map +1 -0
- package/dist/lake/view-materializer.js +314 -0
- package/dist/lake/view-materializer.js.map +1 -0
- package/dist/lake/view-store.d.ts +57 -0
- package/dist/lake/view-store.d.ts.map +1 -0
- package/dist/lake/view-store.js +348 -0
- package/dist/lake/view-store.js.map +1 -0
- package/dist/parsers/tree-sitter/index.d.ts +1 -0
- package/dist/parsers/tree-sitter/index.d.ts.map +1 -1
- package/dist/parsers/tree-sitter/index.js +4 -0
- package/dist/parsers/tree-sitter/index.js.map +1 -1
- package/dist/parsers/tree-sitter/typescript-loader.d.ts +58 -0
- package/dist/parsers/tree-sitter/typescript-loader.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/typescript-loader.js +250 -0
- package/dist/parsers/tree-sitter/typescript-loader.js.map +1 -0
- package/dist/store/project-config.d.ts +154 -0
- package/dist/store/project-config.d.ts.map +1 -0
- package/dist/store/project-config.js +235 -0
- package/dist/store/project-config.js.map +1 -0
- package/dist/store/project-registry.d.ts +241 -0
- package/dist/store/project-registry.d.ts.map +1 -0
- package/dist/store/project-registry.js +557 -0
- package/dist/store/project-registry.js.map +1 -0
- package/package.json +7 -7
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project Registry - Central index of all drift-initialized projects
|
|
3
|
+
*
|
|
4
|
+
* Maintains a global registry at ~/.drift/registry.json that tracks
|
|
5
|
+
* all projects where drift has been initialized. Enables multi-project
|
|
6
|
+
* workflows, project switching, and cross-project analysis.
|
|
7
|
+
*
|
|
8
|
+
* @requirements
|
|
9
|
+
* - Store project metadata in user home directory
|
|
10
|
+
* - Auto-register projects on drift init
|
|
11
|
+
* - Support project listing, switching, and removal
|
|
12
|
+
* - Track last accessed timestamps for MRU ordering
|
|
13
|
+
*/
|
|
14
|
+
import { EventEmitter } from 'node:events';
|
|
15
|
+
/**
|
|
16
|
+
* Detected project framework/language
|
|
17
|
+
*/
|
|
18
|
+
export type ProjectFramework = 'react' | 'vue' | 'angular' | 'nextjs' | 'express' | 'fastapi' | 'django' | 'flask' | 'spring' | 'aspnet' | 'laravel' | 'rails' | 'unknown';
|
|
19
|
+
/**
|
|
20
|
+
* Primary language of the project
|
|
21
|
+
*/
|
|
22
|
+
export type ProjectLanguage = 'typescript' | 'javascript' | 'python' | 'java' | 'csharp' | 'php' | 'ruby' | 'go' | 'rust' | 'mixed' | 'unknown';
|
|
23
|
+
/**
|
|
24
|
+
* Project health status
|
|
25
|
+
*/
|
|
26
|
+
export type ProjectHealth = 'healthy' | 'warning' | 'critical' | 'unknown';
|
|
27
|
+
/**
|
|
28
|
+
* Registered project entry
|
|
29
|
+
*/
|
|
30
|
+
export interface RegisteredProject {
|
|
31
|
+
/** Unique project identifier (UUID) */
|
|
32
|
+
id: string;
|
|
33
|
+
/** User-friendly project name */
|
|
34
|
+
name: string;
|
|
35
|
+
/** Absolute path to project root */
|
|
36
|
+
path: string;
|
|
37
|
+
/** Primary language */
|
|
38
|
+
language: ProjectLanguage;
|
|
39
|
+
/** Detected framework */
|
|
40
|
+
framework: ProjectFramework;
|
|
41
|
+
/** When project was first registered */
|
|
42
|
+
registeredAt: string;
|
|
43
|
+
/** When project was last accessed via drift */
|
|
44
|
+
lastAccessedAt: string;
|
|
45
|
+
/** Last scan timestamp */
|
|
46
|
+
lastScanAt?: string | undefined;
|
|
47
|
+
/** Pattern counts by status */
|
|
48
|
+
patternCounts?: {
|
|
49
|
+
discovered: number;
|
|
50
|
+
approved: number;
|
|
51
|
+
ignored: number;
|
|
52
|
+
} | undefined;
|
|
53
|
+
/** Overall health score (0-100) */
|
|
54
|
+
healthScore?: number | undefined;
|
|
55
|
+
/** Health status */
|
|
56
|
+
health?: ProjectHealth | undefined;
|
|
57
|
+
/** Custom tags for organization */
|
|
58
|
+
tags?: string[] | undefined;
|
|
59
|
+
/** Project description */
|
|
60
|
+
description?: string | undefined;
|
|
61
|
+
/** Git remote URL if available */
|
|
62
|
+
gitRemote?: string | undefined;
|
|
63
|
+
/** Whether project path still exists */
|
|
64
|
+
isValid?: boolean | undefined;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Registry file structure
|
|
68
|
+
*/
|
|
69
|
+
export interface ProjectRegistryFile {
|
|
70
|
+
version: string;
|
|
71
|
+
lastUpdated: string;
|
|
72
|
+
activeProjectId?: string | undefined;
|
|
73
|
+
projects: RegisteredProject[];
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Registry configuration
|
|
77
|
+
*/
|
|
78
|
+
export interface ProjectRegistryConfig {
|
|
79
|
+
/** Custom registry path (default: ~/.drift/registry.json) */
|
|
80
|
+
registryPath?: string;
|
|
81
|
+
/** Auto-validate project paths on load */
|
|
82
|
+
validateOnLoad?: boolean;
|
|
83
|
+
/** Remove invalid projects automatically */
|
|
84
|
+
autoCleanup?: boolean;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Project registration options
|
|
88
|
+
*/
|
|
89
|
+
export interface ProjectRegistrationOptions {
|
|
90
|
+
/** Custom project name (default: directory name) */
|
|
91
|
+
name?: string | undefined;
|
|
92
|
+
/** Project description */
|
|
93
|
+
description?: string | undefined;
|
|
94
|
+
/** Custom tags */
|
|
95
|
+
tags?: string[] | undefined;
|
|
96
|
+
/** Override detected language */
|
|
97
|
+
language?: ProjectLanguage | undefined;
|
|
98
|
+
/** Override detected framework */
|
|
99
|
+
framework?: ProjectFramework | undefined;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Registry event types
|
|
103
|
+
*/
|
|
104
|
+
export type RegistryEventType = 'project:registered' | 'project:updated' | 'project:removed' | 'project:activated' | 'registry:loaded' | 'registry:saved';
|
|
105
|
+
export interface RegistryEvent {
|
|
106
|
+
type: RegistryEventType;
|
|
107
|
+
timestamp: string;
|
|
108
|
+
projectId?: string | undefined;
|
|
109
|
+
projectName?: string | undefined;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Project Registry - Manages multi-project drift installations
|
|
113
|
+
*/
|
|
114
|
+
export declare class ProjectRegistry extends EventEmitter {
|
|
115
|
+
private readonly config;
|
|
116
|
+
private projects;
|
|
117
|
+
private activeProjectId?;
|
|
118
|
+
constructor(config?: ProjectRegistryConfig);
|
|
119
|
+
/**
|
|
120
|
+
* Initialize the registry (load from disk)
|
|
121
|
+
*/
|
|
122
|
+
initialize(): Promise<void>;
|
|
123
|
+
/**
|
|
124
|
+
* Ensure ~/.drift directory exists
|
|
125
|
+
*/
|
|
126
|
+
private ensureRegistryDir;
|
|
127
|
+
/**
|
|
128
|
+
* Load registry from disk
|
|
129
|
+
*/
|
|
130
|
+
load(): Promise<void>;
|
|
131
|
+
/**
|
|
132
|
+
* Save registry to disk
|
|
133
|
+
*/
|
|
134
|
+
save(): Promise<void>;
|
|
135
|
+
/**
|
|
136
|
+
* Validate that a project path exists and has .drift folder
|
|
137
|
+
*/
|
|
138
|
+
private validateProjectPath;
|
|
139
|
+
/**
|
|
140
|
+
* Register a new project
|
|
141
|
+
*/
|
|
142
|
+
register(projectPath: string, options?: ProjectRegistrationOptions): Promise<RegisteredProject>;
|
|
143
|
+
/**
|
|
144
|
+
* Update project metadata
|
|
145
|
+
*/
|
|
146
|
+
update(projectId: string, updates: Partial<Omit<RegisteredProject, 'id' | 'registeredAt'>>): Promise<RegisteredProject>;
|
|
147
|
+
/**
|
|
148
|
+
* Update last accessed timestamp
|
|
149
|
+
*/
|
|
150
|
+
updateLastAccessed(projectId: string): Promise<RegisteredProject>;
|
|
151
|
+
/**
|
|
152
|
+
* Update pattern counts for a project
|
|
153
|
+
*/
|
|
154
|
+
updatePatternCounts(projectId: string, counts: {
|
|
155
|
+
discovered: number;
|
|
156
|
+
approved: number;
|
|
157
|
+
ignored: number;
|
|
158
|
+
}): Promise<RegisteredProject>;
|
|
159
|
+
/**
|
|
160
|
+
* Update health score for a project
|
|
161
|
+
*/
|
|
162
|
+
updateHealth(projectId: string, healthScore: number): Promise<RegisteredProject>;
|
|
163
|
+
/**
|
|
164
|
+
* Remove a project from registry
|
|
165
|
+
*/
|
|
166
|
+
remove(projectId: string): Promise<boolean>;
|
|
167
|
+
/**
|
|
168
|
+
* Set the active project
|
|
169
|
+
*/
|
|
170
|
+
setActive(projectId: string): Promise<RegisteredProject>;
|
|
171
|
+
/**
|
|
172
|
+
* Get the active project
|
|
173
|
+
*/
|
|
174
|
+
getActive(): RegisteredProject | undefined;
|
|
175
|
+
/**
|
|
176
|
+
* Clear active project
|
|
177
|
+
*/
|
|
178
|
+
clearActive(): Promise<void>;
|
|
179
|
+
/**
|
|
180
|
+
* Get a project by ID
|
|
181
|
+
*/
|
|
182
|
+
get(projectId: string): RegisteredProject | undefined;
|
|
183
|
+
/**
|
|
184
|
+
* Find project by path
|
|
185
|
+
*/
|
|
186
|
+
findByPath(projectPath: string): RegisteredProject | undefined;
|
|
187
|
+
/**
|
|
188
|
+
* Find project by name
|
|
189
|
+
*/
|
|
190
|
+
findByName(name: string): RegisteredProject | undefined;
|
|
191
|
+
/**
|
|
192
|
+
* Get all projects
|
|
193
|
+
*/
|
|
194
|
+
getAll(): RegisteredProject[];
|
|
195
|
+
/**
|
|
196
|
+
* Get projects sorted by last accessed (MRU)
|
|
197
|
+
*/
|
|
198
|
+
getRecent(limit?: number): RegisteredProject[];
|
|
199
|
+
/**
|
|
200
|
+
* Get projects by language
|
|
201
|
+
*/
|
|
202
|
+
getByLanguage(language: ProjectLanguage): RegisteredProject[];
|
|
203
|
+
/**
|
|
204
|
+
* Get projects by framework
|
|
205
|
+
*/
|
|
206
|
+
getByFramework(framework: ProjectFramework): RegisteredProject[];
|
|
207
|
+
/**
|
|
208
|
+
* Get projects by tag
|
|
209
|
+
*/
|
|
210
|
+
getByTag(tag: string): RegisteredProject[];
|
|
211
|
+
/**
|
|
212
|
+
* Get valid projects only
|
|
213
|
+
*/
|
|
214
|
+
getValid(): RegisteredProject[];
|
|
215
|
+
/**
|
|
216
|
+
* Search projects by name or path
|
|
217
|
+
*/
|
|
218
|
+
search(query: string): RegisteredProject[];
|
|
219
|
+
/**
|
|
220
|
+
* Get project count
|
|
221
|
+
*/
|
|
222
|
+
get count(): number;
|
|
223
|
+
/**
|
|
224
|
+
* Validate all project paths
|
|
225
|
+
*/
|
|
226
|
+
validateAll(): Promise<Map<string, boolean>>;
|
|
227
|
+
/**
|
|
228
|
+
* Remove all invalid projects
|
|
229
|
+
*/
|
|
230
|
+
cleanup(): Promise<string[]>;
|
|
231
|
+
private emitEvent;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Get the global project registry instance
|
|
235
|
+
*/
|
|
236
|
+
export declare function getProjectRegistry(config?: ProjectRegistryConfig): Promise<ProjectRegistry>;
|
|
237
|
+
/**
|
|
238
|
+
* Create a new project registry instance
|
|
239
|
+
*/
|
|
240
|
+
export declare function createProjectRegistry(config?: ProjectRegistryConfig): ProjectRegistry;
|
|
241
|
+
//# sourceMappingURL=project-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-registry.d.ts","sourceRoot":"","sources":["../../src/store/project-registry.ts"],"names":[],"mappings":"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"}
|