@noyrax/5d-database-plugin 0.1.7 → 0.1.8-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/MCP_SERVER_SETUP.md +14 -0
  2. package/README.md +49 -3
  3. package/SETUP_NEW_PROJECT.md +245 -14
  4. package/out/cli/merge-workspaces-cli.d.ts +3 -0
  5. package/out/cli/merge-workspaces-cli.d.ts.map +1 -0
  6. package/out/cli/merge-workspaces-cli.js +199 -0
  7. package/out/cli/merge-workspaces-cli.js.map +1 -0
  8. package/out/cli/tool-cli.js +59 -4
  9. package/out/cli/tool-cli.js.map +1 -1
  10. package/out/core/chromadb-vector-database.d.ts.map +1 -1
  11. package/out/core/chromadb-vector-database.js +6 -2
  12. package/out/core/chromadb-vector-database.js.map +1 -1
  13. package/out/mcp/server.d.ts +3 -0
  14. package/out/mcp/server.d.ts.map +1 -1
  15. package/out/mcp/server.js +141 -0
  16. package/out/mcp/server.js.map +1 -1
  17. package/out/mcp/tools/adr-generator.d.ts +123 -0
  18. package/out/mcp/tools/adr-generator.d.ts.map +1 -0
  19. package/out/mcp/tools/adr-generator.js +1113 -0
  20. package/out/mcp/tools/adr-generator.js.map +1 -0
  21. package/out/mcp/tools/gap-analysis.d.ts +6 -2
  22. package/out/mcp/tools/gap-analysis.d.ts.map +1 -1
  23. package/out/mcp/tools/gap-analysis.js +32 -5
  24. package/out/mcp/tools/gap-analysis.js.map +1 -1
  25. package/out/services/adr-context-builder.d.ts +70 -0
  26. package/out/services/adr-context-builder.d.ts.map +1 -0
  27. package/out/services/adr-context-builder.js +141 -0
  28. package/out/services/adr-context-builder.js.map +1 -0
  29. package/out/services/adr-pattern-analyzer.d.ts +75 -0
  30. package/out/services/adr-pattern-analyzer.d.ts.map +1 -0
  31. package/out/services/adr-pattern-analyzer.js +339 -0
  32. package/out/services/adr-pattern-analyzer.js.map +1 -0
  33. package/out/services/adr-reasoning-service.d.ts +63 -0
  34. package/out/services/adr-reasoning-service.d.ts.map +1 -0
  35. package/out/services/adr-reasoning-service.js +760 -0
  36. package/out/services/adr-reasoning-service.js.map +1 -0
  37. package/out/services/noyrax-integration-service.d.ts +51 -0
  38. package/out/services/noyrax-integration-service.d.ts.map +1 -0
  39. package/out/services/noyrax-integration-service.js +215 -0
  40. package/out/services/noyrax-integration-service.js.map +1 -0
  41. package/out/services/semantic-pattern-matcher.d.ts +61 -0
  42. package/out/services/semantic-pattern-matcher.d.ts.map +1 -0
  43. package/out/services/semantic-pattern-matcher.js +183 -0
  44. package/out/services/semantic-pattern-matcher.js.map +1 -0
  45. package/out/services/workflow-orchestrator.d.ts +63 -0
  46. package/out/services/workflow-orchestrator.d.ts.map +1 -0
  47. package/out/services/workflow-orchestrator.js +111 -0
  48. package/out/services/workflow-orchestrator.js.map +1 -0
  49. package/out/ui/commands.d.ts.map +1 -1
  50. package/out/ui/commands.js +112 -1
  51. package/out/ui/commands.js.map +1 -1
  52. package/package.json +22 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adr-reasoning-service.js","sourceRoot":"","sources":["../../src/services/adr-reasoning-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Status information about the docs/ directory.
3
+ */
4
+ export interface DocsStatus {
5
+ exists: boolean;
6
+ isUpToDate: boolean;
7
+ hasModules: boolean;
8
+ hasSymbols: boolean;
9
+ hasDependencies: boolean;
10
+ hasAdrs: boolean;
11
+ hasChanges: boolean;
12
+ lastModified?: Date;
13
+ }
14
+ /**
15
+ * Service for integrating with Noyrax Documentation System Plugin.
16
+ * Provides functionality to generate documentation and check docs status.
17
+ */
18
+ export declare class NoyraxIntegrationService {
19
+ private workspaceRoot;
20
+ constructor(workspaceRoot: string);
21
+ /**
22
+ * Gets the path to the documentation-system-plugin directory.
23
+ */
24
+ private getNoyraxPath;
25
+ /**
26
+ * Gets the path to the docs directory.
27
+ */
28
+ private getDocsPath;
29
+ /**
30
+ * Checks if the documentation-system-plugin exists.
31
+ */
32
+ private checkNoyraxExists;
33
+ /**
34
+ * Runs a Noyrax CLI tool.
35
+ */
36
+ private runNoyraxCli;
37
+ /**
38
+ * Generates documentation using Noyrax.
39
+ * Runs scan, validate, and generate in sequence.
40
+ */
41
+ generateDocumentation(workspaceRoot?: string): Promise<void>;
42
+ /**
43
+ * Checks the status of the docs/ directory.
44
+ */
45
+ checkDocsStatus(): Promise<DocsStatus>;
46
+ /**
47
+ * Checks if documentation needs to be regenerated.
48
+ */
49
+ needsRegeneration(): Promise<boolean>;
50
+ }
51
+ //# sourceMappingURL=noyrax-integration-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noyrax-integration-service.d.ts","sourceRoot":"","sources":["../../src/services/noyrax-integration-service.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,IAAI,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,wBAAwB;IACrB,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,MAAM;IAEzC;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;YACW,iBAAiB;IAU/B;;OAEG;YACW,YAAY;IA0C1B;;;OAGG;IACG,qBAAqB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BlE;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC;IAyE5C;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;CAI9C"}
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.NoyraxIntegrationService = void 0;
37
+ const child_process_1 = require("child_process");
38
+ const util_1 = require("util");
39
+ const path = __importStar(require("path"));
40
+ const fs = __importStar(require("fs"));
41
+ const execAsync = (0, util_1.promisify)(child_process_1.exec);
42
+ /**
43
+ * Service for integrating with Noyrax Documentation System Plugin.
44
+ * Provides functionality to generate documentation and check docs status.
45
+ */
46
+ class NoyraxIntegrationService {
47
+ constructor(workspaceRoot) {
48
+ this.workspaceRoot = workspaceRoot;
49
+ }
50
+ /**
51
+ * Gets the path to the documentation-system-plugin directory.
52
+ */
53
+ getNoyraxPath() {
54
+ return path.join(this.workspaceRoot, 'documentation-system-plugin');
55
+ }
56
+ /**
57
+ * Gets the path to the docs directory.
58
+ */
59
+ getDocsPath() {
60
+ return path.join(this.workspaceRoot, 'docs');
61
+ }
62
+ /**
63
+ * Checks if the documentation-system-plugin exists.
64
+ */
65
+ async checkNoyraxExists() {
66
+ const noyraxPath = this.getNoyraxPath();
67
+ try {
68
+ const stats = await fs.promises.stat(noyraxPath);
69
+ return stats.isDirectory();
70
+ }
71
+ catch {
72
+ return false;
73
+ }
74
+ }
75
+ /**
76
+ * Runs a Noyrax CLI tool.
77
+ */
78
+ async runNoyraxCli(tool, workspaceRoot) {
79
+ const noyraxPath = this.getNoyraxPath();
80
+ const targetWorkspace = workspaceRoot || this.workspaceRoot;
81
+ // Check if Noyrax exists
82
+ if (!(await this.checkNoyraxExists())) {
83
+ throw new Error(`Documentation System Plugin not found at ${noyraxPath}. ` +
84
+ `Please ensure documentation-system-plugin is installed in the workspace.`);
85
+ }
86
+ // Check if CLI tool exists
87
+ const cliPath = path.join(noyraxPath, 'out', 'cli', `${tool}-cli.js`);
88
+ try {
89
+ await fs.promises.access(cliPath);
90
+ }
91
+ catch {
92
+ throw new Error(`Noyrax CLI tool not found at ${cliPath}. ` +
93
+ `Please compile the Documentation System Plugin first: cd documentation-system-plugin && npm run compile`);
94
+ }
95
+ // Run the CLI tool
96
+ try {
97
+ const { stdout, stderr } = await execAsync(`node "${cliPath}" "${targetWorkspace}"`, {
98
+ cwd: noyraxPath,
99
+ maxBuffer: 10 * 1024 * 1024 // 10MB buffer
100
+ });
101
+ if (stderr && !stderr.includes('WARN')) {
102
+ // Log warnings but don't fail
103
+ console.warn(`[Noyrax ${tool}] Warnings:`, stderr);
104
+ }
105
+ }
106
+ catch (error) {
107
+ const errorMessage = error.message || String(error);
108
+ throw new Error(`Failed to run Noyrax ${tool}: ${errorMessage}`);
109
+ }
110
+ }
111
+ /**
112
+ * Generates documentation using Noyrax.
113
+ * Runs scan, validate, and generate in sequence.
114
+ */
115
+ async generateDocumentation(workspaceRoot) {
116
+ const targetWorkspace = workspaceRoot || this.workspaceRoot;
117
+ console.log('[NoyraxIntegration] Starting documentation generation...');
118
+ try {
119
+ // Step 1: Scan
120
+ console.log('[NoyraxIntegration] Running scan...');
121
+ await this.runNoyraxCli('scan', targetWorkspace);
122
+ // Step 2: Validate
123
+ console.log('[NoyraxIntegration] Running validate...');
124
+ await this.runNoyraxCli('validate', targetWorkspace);
125
+ // Step 3: Generate
126
+ console.log('[NoyraxIntegration] Running generate...');
127
+ await this.runNoyraxCli('generate', targetWorkspace);
128
+ console.log('[NoyraxIntegration] Documentation generation completed successfully.');
129
+ }
130
+ catch (error) {
131
+ const errorMessage = error.message || String(error);
132
+ throw new Error(`Documentation generation failed: ${errorMessage}`);
133
+ }
134
+ }
135
+ /**
136
+ * Checks the status of the docs/ directory.
137
+ */
138
+ async checkDocsStatus() {
139
+ const docsPath = this.getDocsPath();
140
+ const status = {
141
+ exists: false,
142
+ isUpToDate: false,
143
+ hasModules: false,
144
+ hasSymbols: false,
145
+ hasDependencies: false,
146
+ hasAdrs: false,
147
+ hasChanges: false
148
+ };
149
+ try {
150
+ const stats = await fs.promises.stat(docsPath);
151
+ status.exists = stats.isDirectory();
152
+ status.lastModified = stats.mtime;
153
+ if (status.exists) {
154
+ // Check for required subdirectories and files
155
+ const modulesPath = path.join(docsPath, 'modules');
156
+ const symbolsPath = path.join(docsPath, 'index', 'symbols.jsonl');
157
+ const dependenciesPath = path.join(docsPath, 'system', 'DEPENDENCY_GRAPH.md');
158
+ const adrsPath = path.join(docsPath, 'adr');
159
+ const changesPath = path.join(docsPath, 'system', 'CHANGE_REPORT.md');
160
+ try {
161
+ const modulesStats = await fs.promises.stat(modulesPath);
162
+ status.hasModules = modulesStats.isDirectory();
163
+ }
164
+ catch {
165
+ status.hasModules = false;
166
+ }
167
+ try {
168
+ await fs.promises.access(symbolsPath);
169
+ status.hasSymbols = true;
170
+ }
171
+ catch {
172
+ status.hasSymbols = false;
173
+ }
174
+ try {
175
+ await fs.promises.access(dependenciesPath);
176
+ status.hasDependencies = true;
177
+ }
178
+ catch {
179
+ status.hasDependencies = false;
180
+ }
181
+ try {
182
+ const adrsStats = await fs.promises.stat(adrsPath);
183
+ status.hasAdrs = adrsStats.isDirectory();
184
+ }
185
+ catch {
186
+ status.hasAdrs = false;
187
+ }
188
+ try {
189
+ await fs.promises.access(changesPath);
190
+ status.hasChanges = true;
191
+ }
192
+ catch {
193
+ status.hasChanges = false;
194
+ }
195
+ // Consider docs up-to-date if all required components exist
196
+ status.isUpToDate = status.hasModules && status.hasSymbols &&
197
+ status.hasDependencies && status.hasAdrs && status.hasChanges;
198
+ }
199
+ }
200
+ catch {
201
+ // docs/ doesn't exist
202
+ status.exists = false;
203
+ }
204
+ return status;
205
+ }
206
+ /**
207
+ * Checks if documentation needs to be regenerated.
208
+ */
209
+ async needsRegeneration() {
210
+ const status = await this.checkDocsStatus();
211
+ return !status.exists || !status.isUpToDate;
212
+ }
213
+ }
214
+ exports.NoyraxIntegrationService = NoyraxIntegrationService;
215
+ //# sourceMappingURL=noyrax-integration-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noyrax-integration-service.js","sourceRoot":"","sources":["../../src/services/noyrax-integration-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { MultiDbManager } from '../core/multi-db-manager';
2
+ import { IdMapper } from '../core/id-mapper';
3
+ import { EmbeddingGenerator } from '../embedding/embedding-generator';
4
+ import { Module } from '../models/module';
5
+ import { Adr } from '../models/adr';
6
+ /**
7
+ * Similar module with similarity score
8
+ */
9
+ export interface SimilarModule {
10
+ module: Module;
11
+ similarityScore: number;
12
+ }
13
+ /**
14
+ * ADR for similar module
15
+ */
16
+ export interface AdrForSimilarModule {
17
+ adr: Adr;
18
+ module: Module;
19
+ similarityScore: number;
20
+ }
21
+ /**
22
+ * Architectural pattern detected in code
23
+ */
24
+ export interface ArchitecturalPattern {
25
+ pattern: string;
26
+ evidence: string[];
27
+ confidence: 'high' | 'medium' | 'low';
28
+ }
29
+ /**
30
+ * Uses Semantic Search (V-Dimension) and Architecture Mining to find similar modules and their ADRs.
31
+ * Used for deterministic ADR reconstruction.
32
+ */
33
+ export declare class SemanticPatternMatcher {
34
+ private semanticSearchApi;
35
+ private architectureMiningTool;
36
+ private moduleApi;
37
+ private adrApi;
38
+ private dbManager;
39
+ constructor(dbManager: MultiDbManager, idMapper: IdMapper, embeddingGenerator: EmbeddingGenerator);
40
+ /**
41
+ * Finds similar modules using Semantic Search (V-Dimension).
42
+ */
43
+ findSimilarModules(targetModule: Module, pluginId: string, limit?: number): Promise<SimilarModule[]>;
44
+ /**
45
+ * Finds ADRs for similar modules.
46
+ */
47
+ findAdrsForSimilarModules(targetModule: Module, pluginId: string): Promise<AdrForSimilarModule[]>;
48
+ /**
49
+ * Finds architectural patterns in the target module.
50
+ */
51
+ findPatterns(targetModule: Module, pluginId: string): Promise<ArchitecturalPattern[]>;
52
+ /**
53
+ * Builds a semantic search query from module information.
54
+ */
55
+ private buildModuleQuery;
56
+ /**
57
+ * Fallback: Finds similar modules by file path similarity.
58
+ */
59
+ private findSimilarModulesByPath;
60
+ }
61
+ //# sourceMappingURL=semantic-pattern-matcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-pattern-matcher.d.ts","sourceRoot":"","sources":["../../src/services/semantic-pattern-matcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAGtE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CACzC;AAED;;;GAGG;AACH,qBAAa,sBAAsB;IAC/B,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,sBAAsB,CAAyB;IACvD,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAiB;gBAG9B,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,QAAQ,EAClB,kBAAkB,EAAE,kBAAkB;IAS1C;;OAEG;IACU,kBAAkB,CAC3B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,MAAU,GAClB,OAAO,CAAC,aAAa,EAAE,CAAC;IA+C3B;;OAEG;IACU,yBAAyB,CAClC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAuBjC;;OAEG;IACU,YAAY,CACrB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAqBlC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA2BxB;;OAEG;YACW,wBAAwB;CA8DzC"}
@@ -0,0 +1,183 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SemanticPatternMatcher = void 0;
4
+ const semantic_search_api_1 = require("../api/semantic-search-api");
5
+ const architecture_mining_1 = require("../mcp/tools/architecture-mining");
6
+ const module_api_1 = require("../api/module-api");
7
+ const adr_api_1 = require("../api/adr-api");
8
+ /**
9
+ * Uses Semantic Search (V-Dimension) and Architecture Mining to find similar modules and their ADRs.
10
+ * Used for deterministic ADR reconstruction.
11
+ */
12
+ class SemanticPatternMatcher {
13
+ constructor(dbManager, idMapper, embeddingGenerator) {
14
+ this.dbManager = dbManager;
15
+ this.semanticSearchApi = new semantic_search_api_1.SemanticSearchApi(dbManager, embeddingGenerator);
16
+ this.architectureMiningTool = new architecture_mining_1.ArchitectureMiningTool(dbManager, idMapper);
17
+ this.moduleApi = new module_api_1.ModuleApi(dbManager);
18
+ this.adrApi = new adr_api_1.AdrApi(dbManager);
19
+ }
20
+ /**
21
+ * Finds similar modules using Semantic Search (V-Dimension).
22
+ */
23
+ async findSimilarModules(targetModule, pluginId, limit = 5) {
24
+ // Check if semantic search is available
25
+ if (!this.semanticSearchApi['embeddingGenerator'].isConfigured()) {
26
+ // Fallback: Use file path similarity
27
+ return this.findSimilarModulesByPath(targetModule, pluginId, limit);
28
+ }
29
+ // Build query from module content
30
+ const query = this.buildModuleQuery(targetModule);
31
+ try {
32
+ // Search for similar modules in X-Dimension
33
+ const results = await this.semanticSearchApi.search(query, pluginId, {
34
+ dimensions: ['X'],
35
+ limit: limit * 2 // Get more results to filter out the target module
36
+ });
37
+ // Filter out the target module
38
+ const filteredResults = results.filter(result => result.externalId !== targetModule.file_path);
39
+ // Fetch actual modules for the results
40
+ const modules = [];
41
+ for (const result of results.slice(0, limit * 2)) {
42
+ if (result.externalId === targetModule.file_path) {
43
+ continue; // Skip target module
44
+ }
45
+ const module = await this.moduleApi.getModuleByPath(result.externalId, pluginId);
46
+ if (module) {
47
+ modules.push({
48
+ module,
49
+ similarityScore: result.score
50
+ });
51
+ }
52
+ if (modules.length >= limit) {
53
+ break;
54
+ }
55
+ }
56
+ return modules;
57
+ }
58
+ catch (error) {
59
+ console.warn(`[SemanticPatternMatcher] Semantic search failed, using fallback: ${error}`);
60
+ return this.findSimilarModulesByPath(targetModule, pluginId, limit);
61
+ }
62
+ }
63
+ /**
64
+ * Finds ADRs for similar modules.
65
+ */
66
+ async findAdrsForSimilarModules(targetModule, pluginId) {
67
+ const similarModules = await this.findSimilarModules(targetModule, pluginId, 10);
68
+ const adrsForSimilar = [];
69
+ for (const similar of similarModules) {
70
+ // Get ADRs for this similar module
71
+ const adrs = await this.adrApi.getAdrsByFilePath(similar.module.file_path, pluginId);
72
+ for (const adr of adrs) {
73
+ adrsForSimilar.push({
74
+ adr,
75
+ module: similar.module,
76
+ similarityScore: similar.similarityScore
77
+ });
78
+ }
79
+ }
80
+ // Sort by similarity score (highest first)
81
+ adrsForSimilar.sort((a, b) => b.similarityScore - a.similarityScore);
82
+ return adrsForSimilar;
83
+ }
84
+ /**
85
+ * Finds architectural patterns in the target module.
86
+ */
87
+ async findPatterns(targetModule, pluginId) {
88
+ try {
89
+ const miningResult = await this.architectureMiningTool.execute({
90
+ pluginId,
91
+ filePath: targetModule.file_path
92
+ });
93
+ const parsed = JSON.parse(miningResult);
94
+ const decisions = parsed.decisions || [];
95
+ return decisions.map((d) => ({
96
+ pattern: d.pattern,
97
+ evidence: d.evidence || [],
98
+ confidence: d.confidence || 'medium'
99
+ }));
100
+ }
101
+ catch (error) {
102
+ console.warn(`[SemanticPatternMatcher] Architecture mining failed: ${error}`);
103
+ return [];
104
+ }
105
+ }
106
+ /**
107
+ * Builds a semantic search query from module information.
108
+ */
109
+ buildModuleQuery(module) {
110
+ const fileName = module.file_path.split('/').pop() || '';
111
+ const dirName = module.file_path.split('/').slice(-2, -1)[0] || '';
112
+ // Extract key terms from file path
113
+ const terms = [];
114
+ // Add directory name if meaningful
115
+ if (dirName && dirName !== 'src') {
116
+ terms.push(dirName);
117
+ }
118
+ // Add file name without extension
119
+ const baseName = fileName.replace(/\.[^/.]+$/, '');
120
+ terms.push(baseName);
121
+ // Extract words from camelCase/PascalCase
122
+ const words = baseName
123
+ .replace(/([A-Z])/g, ' $1')
124
+ .split(/[\s_-]+/)
125
+ .filter(w => w.length > 2);
126
+ terms.push(...words);
127
+ // Build query
128
+ return terms.join(' ');
129
+ }
130
+ /**
131
+ * Fallback: Finds similar modules by file path similarity.
132
+ */
133
+ async findSimilarModulesByPath(targetModule, pluginId, limit) {
134
+ const allModules = await this.moduleApi.getAllModules(pluginId);
135
+ const targetPath = targetModule.file_path;
136
+ const targetDir = targetPath.split('/').slice(0, -1).join('/');
137
+ const targetFileName = targetPath.split('/').pop() || '';
138
+ // Score modules by path similarity
139
+ const scored = [];
140
+ for (const module of allModules) {
141
+ if (module.file_path === targetPath) {
142
+ continue; // Skip target module
143
+ }
144
+ let score = 0;
145
+ const modulePath = module.file_path;
146
+ const moduleDir = modulePath.split('/').slice(0, -1).join('/');
147
+ const moduleFileName = modulePath.split('/').pop() || '';
148
+ // Same directory = high score
149
+ if (moduleDir === targetDir) {
150
+ score += 50;
151
+ }
152
+ // Similar directory structure = medium score
153
+ const targetDirParts = targetDir.split('/');
154
+ const moduleDirParts = moduleDir.split('/');
155
+ const commonDirParts = targetDirParts.filter(part => moduleDirParts.includes(part));
156
+ score += commonDirParts.length * 10;
157
+ // Similar file name = medium score
158
+ if (moduleFileName.toLowerCase().includes(targetFileName.toLowerCase().substring(0, 5)) ||
159
+ targetFileName.toLowerCase().includes(moduleFileName.toLowerCase().substring(0, 5))) {
160
+ score += 20;
161
+ }
162
+ // Same file name pattern (e.g., both end with "-api.ts")
163
+ if (targetFileName.match(/-[a-z]+\.ts$/) && moduleFileName.match(/-[a-z]+\.ts$/)) {
164
+ const targetSuffix = targetFileName.match(/-([a-z]+)\.ts$/)?.[1];
165
+ const moduleSuffix = moduleFileName.match(/-([a-z]+)\.ts$/)?.[1];
166
+ if (targetSuffix === moduleSuffix) {
167
+ score += 30;
168
+ }
169
+ }
170
+ if (score > 0) {
171
+ scored.push({ module, score });
172
+ }
173
+ }
174
+ // Sort by score and return top results
175
+ scored.sort((a, b) => b.score - a.score);
176
+ return scored.slice(0, limit).map(item => ({
177
+ module: item.module,
178
+ similarityScore: item.score / 100 // Normalize to 0-1 range
179
+ }));
180
+ }
181
+ }
182
+ exports.SemanticPatternMatcher = SemanticPatternMatcher;
183
+ //# sourceMappingURL=semantic-pattern-matcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-pattern-matcher.js","sourceRoot":"","sources":["../../src/services/semantic-pattern-matcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import { IngestionOrchestrator } from './ingestion-orchestrator';
2
+ import { MultiDbManager } from '../core/multi-db-manager';
3
+ /**
4
+ * Options for running the full workflow.
5
+ */
6
+ export interface WorkflowOptions {
7
+ /**
8
+ * Whether to generate documentation first (default: true).
9
+ */
10
+ generateDocs?: boolean;
11
+ /**
12
+ * Whether to perform full ingestion (default: false, uses incremental).
13
+ */
14
+ fullIngestion?: boolean;
15
+ /**
16
+ * Whether to generate embeddings (default: true).
17
+ */
18
+ generateEmbeddings?: boolean;
19
+ /**
20
+ * Whether to skip if docs are already up-to-date (default: false).
21
+ */
22
+ skipIfUpToDate?: boolean;
23
+ }
24
+ /**
25
+ * Result of running the workflow.
26
+ */
27
+ export interface WorkflowResult {
28
+ success: boolean;
29
+ docsGenerated: boolean;
30
+ ingestionCompleted: boolean;
31
+ embeddingsGenerated: boolean;
32
+ errors?: string[];
33
+ warnings?: string[];
34
+ }
35
+ /**
36
+ * Orchestrates the complete workflow:
37
+ * 1. Noyrax: Generate documentation (scan → validate → generate)
38
+ * 2. 5D Database: Ingest documentation into SQLite databases
39
+ * 3. V-Dimension: Generate embeddings and calculate importance scores
40
+ */
41
+ export declare class WorkflowOrchestrator {
42
+ private noyraxService;
43
+ private ingestionOrchestrator;
44
+ private dbManager;
45
+ private workspaceRoot;
46
+ constructor(workspaceRoot: string, dbManager: MultiDbManager, ingestionOrchestrator: IngestionOrchestrator);
47
+ /**
48
+ * Runs the full workflow.
49
+ *
50
+ * @param options Workflow options
51
+ * @returns Promise that resolves with the workflow result
52
+ */
53
+ runFullWorkflow(options?: WorkflowOptions): Promise<WorkflowResult>;
54
+ /**
55
+ * Checks the status of the workflow prerequisites.
56
+ */
57
+ checkStatus(): Promise<{
58
+ noyraxAvailable: boolean;
59
+ docsStatus: import('./noyrax-integration-service').DocsStatus;
60
+ dbManagerReady: boolean;
61
+ }>;
62
+ }
63
+ //# sourceMappingURL=workflow-orchestrator.d.ts.map