@noyrax/5d-database-plugin 0.1.8 → 0.1.10-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 (92) 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/api/adr-api.d.ts +15 -2
  5. package/out/api/adr-api.d.ts.map +1 -1
  6. package/out/api/adr-api.js +98 -4
  7. package/out/api/adr-api.js.map +1 -1
  8. package/out/api/index.d.ts +1 -0
  9. package/out/api/index.d.ts.map +1 -1
  10. package/out/api/index.js +3 -1
  11. package/out/api/index.js.map +1 -1
  12. package/out/api/ingestion-api.d.ts +42 -0
  13. package/out/api/ingestion-api.d.ts.map +1 -0
  14. package/out/api/ingestion-api.js +148 -0
  15. package/out/api/ingestion-api.js.map +1 -0
  16. package/out/api/module-api.d.ts +11 -1
  17. package/out/api/module-api.d.ts.map +1 -1
  18. package/out/api/module-api.js +54 -2
  19. package/out/api/module-api.js.map +1 -1
  20. package/out/cli/ingest-cli.js +43 -19
  21. package/out/cli/ingest-cli.js.map +1 -1
  22. package/out/cli/merge-workspaces-cli.d.ts +3 -0
  23. package/out/cli/merge-workspaces-cli.d.ts.map +1 -0
  24. package/out/cli/merge-workspaces-cli.js +199 -0
  25. package/out/cli/merge-workspaces-cli.js.map +1 -0
  26. package/out/cli/tool-cli.js +59 -4
  27. package/out/cli/tool-cli.js.map +1 -1
  28. package/out/core/chromadb-vector-database.d.ts.map +1 -1
  29. package/out/core/chromadb-vector-database.js +6 -2
  30. package/out/core/chromadb-vector-database.js.map +1 -1
  31. package/out/core/migration-manager.d.ts +31 -0
  32. package/out/core/migration-manager.d.ts.map +1 -1
  33. package/out/core/migration-manager.js +126 -7
  34. package/out/core/migration-manager.js.map +1 -1
  35. package/out/core/multi-db-manager.d.ts +10 -0
  36. package/out/core/multi-db-manager.d.ts.map +1 -1
  37. package/out/core/multi-db-manager.js +51 -0
  38. package/out/core/multi-db-manager.js.map +1 -1
  39. package/out/ingestors/adr-ingestor.d.ts +7 -0
  40. package/out/ingestors/adr-ingestor.d.ts.map +1 -1
  41. package/out/ingestors/adr-ingestor.js +41 -9
  42. package/out/ingestors/adr-ingestor.js.map +1 -1
  43. package/out/mcp/server.d.ts +3 -0
  44. package/out/mcp/server.d.ts.map +1 -1
  45. package/out/mcp/server.js +106 -2
  46. package/out/mcp/server.js.map +1 -1
  47. package/out/mcp/tools/adr-generator.d.ts +123 -0
  48. package/out/mcp/tools/adr-generator.d.ts.map +1 -0
  49. package/out/mcp/tools/adr-generator.js +1113 -0
  50. package/out/mcp/tools/adr-generator.js.map +1 -0
  51. package/out/mcp/tools/gap-analysis.d.ts +6 -2
  52. package/out/mcp/tools/gap-analysis.d.ts.map +1 -1
  53. package/out/mcp/tools/gap-analysis.js +32 -5
  54. package/out/mcp/tools/gap-analysis.js.map +1 -1
  55. package/out/repositories/module-repository.d.ts +5 -0
  56. package/out/repositories/module-repository.d.ts.map +1 -1
  57. package/out/repositories/module-repository.js +24 -0
  58. package/out/repositories/module-repository.js.map +1 -1
  59. package/out/services/adr-context-builder.d.ts +70 -0
  60. package/out/services/adr-context-builder.d.ts.map +1 -0
  61. package/out/services/adr-context-builder.js +141 -0
  62. package/out/services/adr-context-builder.js.map +1 -0
  63. package/out/services/adr-pattern-analyzer.d.ts +75 -0
  64. package/out/services/adr-pattern-analyzer.d.ts.map +1 -0
  65. package/out/services/adr-pattern-analyzer.js +339 -0
  66. package/out/services/adr-pattern-analyzer.js.map +1 -0
  67. package/out/services/adr-reasoning-service.d.ts +63 -0
  68. package/out/services/adr-reasoning-service.d.ts.map +1 -0
  69. package/out/services/adr-reasoning-service.js +760 -0
  70. package/out/services/adr-reasoning-service.js.map +1 -0
  71. package/out/services/navigation-builder.d.ts.map +1 -1
  72. package/out/services/navigation-builder.js +70 -11
  73. package/out/services/navigation-builder.js.map +1 -1
  74. package/out/services/noyrax-integration-service.d.ts +51 -0
  75. package/out/services/noyrax-integration-service.d.ts.map +1 -0
  76. package/out/services/noyrax-integration-service.js +215 -0
  77. package/out/services/noyrax-integration-service.js.map +1 -0
  78. package/out/services/semantic-pattern-matcher.d.ts +61 -0
  79. package/out/services/semantic-pattern-matcher.d.ts.map +1 -0
  80. package/out/services/semantic-pattern-matcher.js +183 -0
  81. package/out/services/semantic-pattern-matcher.js.map +1 -0
  82. package/out/services/workflow-orchestrator.d.ts +63 -0
  83. package/out/services/workflow-orchestrator.d.ts.map +1 -0
  84. package/out/services/workflow-orchestrator.js +111 -0
  85. package/out/services/workflow-orchestrator.js.map +1 -0
  86. package/out/ui/commands.d.ts.map +1 -1
  87. package/out/ui/commands.js +112 -1
  88. package/out/ui/commands.js.map +1 -1
  89. package/out/ui/database-explorer.d.ts.map +1 -1
  90. package/out/ui/database-explorer.js +47 -1
  91. package/out/ui/database-explorer.js.map +1 -1
  92. 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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-builder.d.ts","sourceRoot":"","sources":["../../src/services/navigation-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAW1D;;GAEG;AACH,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;gBAEX,SAAS,EAAE,cAAc;IAOrC;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpD;;OAEG;IACG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4E1D;;OAEG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsDtD;;;OAGG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAmDvD"}
1
+ {"version":3,"file":"navigation-builder.d.ts","sourceRoot":"","sources":["../../src/services/navigation-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAW1D;;GAEG;AACH,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;gBAEX,SAAS,EAAE,cAAc;IAOrC;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpD;;OAEG;IACG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2I1D;;OAEG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsDtD;;;OAGG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAmDvD"}
@@ -89,18 +89,73 @@ class NavigationBuilder {
89
89
  incomingDeps.set(dep.to_module, count + 1);
90
90
  }
91
91
  const now = new Date();
92
- const entryPointThreshold = 0.1; // Top 20% importance
92
+ // Calculate entry point candidates
93
+ // Strategy: Multiple criteria for automatic identification
94
+ const entryPointCandidates = [];
95
+ // Get top importance scores for ranking
96
+ const sortedScores = Array.from(importanceScores)
97
+ .sort((a, b) => b.combined_score - a.combined_score);
98
+ const topScore = sortedScores.length > 0 ? sortedScores[0].combined_score : 0;
99
+ const top10PercentScore = sortedScores.length > 0
100
+ ? sortedScores[Math.floor(sortedScores.length * 0.1)].combined_score
101
+ : 0;
102
+ const medianScore = sortedScores.length > 0
103
+ ? sortedScores[Math.floor(sortedScores.length / 2)].combined_score
104
+ : 0;
93
105
  // Identify entry points
94
106
  for (const module of modules) {
95
107
  const importanceScore = importanceMap.get(module.id) || 0;
96
108
  const incomingCount = incomingDeps.get(module.file_path) || 0;
97
109
  const isManual = manualEntryPointSet.has(module.id);
98
- // Automatic criteria:
99
- // 1. High importance score (> threshold)
100
- // 2. No incoming dependencies (root module)
101
- // OR: Manual entry point
102
- const isEntryPoint = isManual ||
103
- (importanceScore > entryPointThreshold && incomingCount === 0);
110
+ // Count outgoing dependencies
111
+ const outgoingCount = dependencies.filter(d => d.from_module === module.file_path).length;
112
+ // Get importance rank
113
+ const score = importanceScores.find(s => s.entity_id === module.id);
114
+ const importanceRank = score ? score.rank : null;
115
+ // Automatic criteria (multiple strategies, prioritized):
116
+ let isEntryPoint = isManual;
117
+ let reason = '';
118
+ if (isManual) {
119
+ reason = 'Manual entry point';
120
+ }
121
+ else {
122
+ // Strategy 1: Top 20 modules by importance rank (most reliable, strict limit)
123
+ if (importanceRank !== null && importanceRank <= 20) {
124
+ isEntryPoint = true;
125
+ reason = `Top 20 by importance rank (rank ${importanceRank})`;
126
+ }
127
+ // Strategy 2: Top 10% by importance score AND (no incoming deps OR hub module)
128
+ // Only if not already selected by Strategy 1
129
+ else if (importanceScore >= top10PercentScore && importanceScore > 0) {
130
+ if (incomingCount === 0) {
131
+ isEntryPoint = true;
132
+ reason = 'Top 10% importance, no incoming dependencies';
133
+ }
134
+ else if (outgoingCount >= 5) {
135
+ isEntryPoint = true;
136
+ reason = `Top 10% importance, hub module (${outgoingCount} outgoing)`;
137
+ }
138
+ }
139
+ // Strategy 3: Root modules (no incoming dependencies) with above-median importance
140
+ // Only if not already selected
141
+ else if (incomingCount === 0 && importanceScore > medianScore && importanceScore > 0) {
142
+ isEntryPoint = true;
143
+ reason = 'Root module, above-median importance';
144
+ }
145
+ // Strategy 4: Important hub modules (many outgoing dependencies, above-median importance)
146
+ // Only if not already selected
147
+ else if (outgoingCount >= 5 && importanceScore > medianScore && importanceScore > 0) {
148
+ isEntryPoint = true;
149
+ reason = `Hub module (${outgoingCount} outgoing dependencies)`;
150
+ }
151
+ }
152
+ if (isEntryPoint) {
153
+ entryPointCandidates.push({
154
+ module,
155
+ score: importanceScore,
156
+ reason
157
+ });
158
+ }
104
159
  // Get or create navigation metadata
105
160
  let metadata = await navRepo.getByEntity('X', module.id, pluginId);
106
161
  if (!metadata) {
@@ -120,13 +175,17 @@ class NavigationBuilder {
120
175
  metadata.is_entry_point = isEntryPoint;
121
176
  }
122
177
  // Set importance rank if available
123
- const score = importanceScores.find(s => s.entity_id === module.id);
124
- if (score) {
125
- metadata.importance_rank = score.rank;
178
+ const importanceScoreRecord = importanceScores.find(s => s.entity_id === module.id);
179
+ if (importanceScoreRecord) {
180
+ metadata.importance_rank = importanceScoreRecord.rank;
126
181
  }
127
182
  await navRepo.upsert(metadata);
128
183
  }
129
- console.log(`[NavigationBuilder] Identified entry points for ${modules.length} modules`);
184
+ const entryPointCount = entryPointCandidates.length;
185
+ console.log(`[NavigationBuilder] Identified ${entryPointCount} entry points for ${modules.length} modules`);
186
+ if (entryPointCount > 0) {
187
+ console.log(`[NavigationBuilder] Entry point reasons: ${Array.from(new Set(entryPointCandidates.map(c => c.reason))).join(', ')}`);
188
+ }
130
189
  }
131
190
  /**
132
191
  * Links entities with related ADRs.
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-builder.js","sourceRoot":"","sources":["../../src/services/navigation-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigation-builder.js","sourceRoot":"","sources":["../../src/services/navigation-builder.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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAqC;AACrC,+BAAiC;AACjC,2CAA6B;AAC7B,uCAAyB;AAEzB,MAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAgBlC;;;GAGG;AACH,MAAa,wBAAwB;IACjC,YAAoB,aAAqB;QAArB,kBAAa,GAAb,aAAa,CAAQ;IAAG,CAAC;IAE7C;;OAEG;IACK,aAAa;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,6BAA6B,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACK,WAAW;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACjD,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,IAAsC,EAAE,aAAsB;QACrF,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,MAAM,eAAe,GAAG,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC;QAE5D,yBAAyB;QACzB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACX,4CAA4C,UAAU,IAAI;gBAC1D,0EAA0E,CAC7E,CAAC;QACN,CAAC;QAED,2BAA2B;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC;QACtE,IAAI,CAAC;YACD,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,IAAI,KAAK,CACX,gCAAgC,OAAO,IAAI;gBAC3C,yGAAyG,CAC5G,CAAC;QACN,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC;YACD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,SAAS,OAAO,MAAM,eAAe,GAAG,EAAE;gBACjF,GAAG,EAAE,UAAU;gBACf,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,cAAc;aAC7C,CAAC,CAAC;YAEH,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrC,8BAA8B;gBAC9B,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,aAAa,EAAE,MAAM,CAAC,CAAC;YACvD,CAAC;QACL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,IAAI,KAAK,CACX,wBAAwB,IAAI,KAAK,YAAY,EAAE,CAClD,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CAAC,aAAsB;QAC9C,MAAM,eAAe,GAAG,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC;QAE5D,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;QAExE,IAAI,CAAC;YACD,eAAe;YACf,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;YACnD,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAEjD,mBAAmB;YACnB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACvD,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YAErD,mBAAmB;YACnB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACvD,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YAErD,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;QACxF,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,IAAI,KAAK,CACX,oCAAoC,YAAY,EAAE,CACrD,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEpC,MAAM,MAAM,GAAe;YACvB,MAAM,EAAE,KAAK;YACb,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,KAAK;YACjB,eAAe,EAAE,KAAK;YACtB,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,KAAK;SACpB,CAAC;QAEF,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;YAElC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,8CAA8C;gBAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACnD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;gBAClE,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC;gBAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;gBAEtE,IAAI,CAAC;oBACD,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACzD,MAAM,CAAC,UAAU,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;gBACnD,CAAC;gBAAC,MAAM,CAAC;oBACL,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;gBAC9B,CAAC;gBAED,IAAI,CAAC;oBACD,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBACtC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC7B,CAAC;gBAAC,MAAM,CAAC;oBACL,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;gBAC9B,CAAC;gBAED,IAAI,CAAC;oBACD,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;oBAC3C,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;gBAClC,CAAC;gBAAC,MAAM,CAAC;oBACL,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC;gBACnC,CAAC;gBAED,IAAI,CAAC;oBACD,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACnD,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;gBAC7C,CAAC;gBAAC,MAAM,CAAC;oBACL,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC3B,CAAC;gBAED,IAAI,CAAC;oBACD,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBACtC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC7B,CAAC;gBAAC,MAAM,CAAC;oBACL,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;gBAC9B,CAAC;gBAED,4DAA4D;gBAC5D,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU;oBACvC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,CAAC;YACrF,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,sBAAsB;YACtB,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;QAC1B,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;IAChD,CAAC;CACJ;AA7LD,4DA6LC"}
@@ -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"}