@noyrax/5d-database-plugin 0.1.14-beta.1 → 0.1.14-beta.11

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 (145) hide show
  1. package/README.md +25 -0
  2. package/out/api/adr-api.d.ts +0 -6
  3. package/out/api/adr-api.d.ts.map +1 -1
  4. package/out/api/adr-api.js +14 -49
  5. package/out/api/adr-api.js.map +1 -1
  6. package/out/api/bootstrap-api.d.ts +32 -1
  7. package/out/api/bootstrap-api.d.ts.map +1 -1
  8. package/out/api/bootstrap-api.js +207 -14
  9. package/out/api/bootstrap-api.js.map +1 -1
  10. package/out/api/context-builder.d.ts.map +1 -1
  11. package/out/api/context-builder.js +21 -5
  12. package/out/api/context-builder.js.map +1 -1
  13. package/out/api/evidence-grader.d.ts +83 -0
  14. package/out/api/evidence-grader.d.ts.map +1 -0
  15. package/out/api/evidence-grader.js +161 -0
  16. package/out/api/evidence-grader.js.map +1 -0
  17. package/out/api/index.d.ts +5 -0
  18. package/out/api/index.d.ts.map +1 -1
  19. package/out/api/index.js +11 -1
  20. package/out/api/index.js.map +1 -1
  21. package/out/api/learning-path-api.d.ts +3 -0
  22. package/out/api/learning-path-api.d.ts.map +1 -1
  23. package/out/api/learning-path-api.js +15 -2
  24. package/out/api/learning-path-api.js.map +1 -1
  25. package/out/api/module-api.d.ts +0 -1
  26. package/out/api/module-api.d.ts.map +1 -1
  27. package/out/api/module-api.js +4 -38
  28. package/out/api/module-api.js.map +1 -1
  29. package/out/api/self-explanation-api.d.ts +11 -1
  30. package/out/api/self-explanation-api.d.ts.map +1 -1
  31. package/out/api/self-explanation-api.js +285 -19
  32. package/out/api/self-explanation-api.js.map +1 -1
  33. package/out/api/semantic-search-api.d.ts +3 -0
  34. package/out/api/semantic-search-api.d.ts.map +1 -1
  35. package/out/api/semantic-search-api.js +41 -4
  36. package/out/api/semantic-search-api.js.map +1 -1
  37. package/out/api/source-access-contract-api.d.ts +60 -0
  38. package/out/api/source-access-contract-api.d.ts.map +1 -0
  39. package/out/api/source-access-contract-api.js +231 -0
  40. package/out/api/source-access-contract-api.js.map +1 -0
  41. package/out/api/source-snippet-api.d.ts +58 -0
  42. package/out/api/source-snippet-api.d.ts.map +1 -0
  43. package/out/api/source-snippet-api.js +187 -0
  44. package/out/api/source-snippet-api.js.map +1 -0
  45. package/out/api/vector-backend-status-api.d.ts +68 -0
  46. package/out/api/vector-backend-status-api.d.ts.map +1 -0
  47. package/out/api/vector-backend-status-api.js +241 -0
  48. package/out/api/vector-backend-status-api.js.map +1 -0
  49. package/out/cli/debug-embedding-strategies.d.ts +3 -0
  50. package/out/cli/debug-embedding-strategies.d.ts.map +1 -0
  51. package/out/cli/debug-embedding-strategies.js +255 -0
  52. package/out/cli/debug-embedding-strategies.js.map +1 -0
  53. package/out/cli/debug-plugin-id.d.ts +9 -0
  54. package/out/cli/debug-plugin-id.d.ts.map +1 -0
  55. package/out/cli/debug-plugin-id.js +188 -0
  56. package/out/cli/debug-plugin-id.js.map +1 -0
  57. package/out/cli/ingest-cli.js +44 -5
  58. package/out/cli/ingest-cli.js.map +1 -1
  59. package/out/cli/tool-cli.js +1 -1
  60. package/out/cli/tool-cli.js.map +1 -1
  61. package/out/core/chromadb-vector-database.d.ts.map +1 -1
  62. package/out/core/chromadb-vector-database.js +10 -12
  63. package/out/core/chromadb-vector-database.js.map +1 -1
  64. package/out/core/migration-manager.d.ts.map +1 -1
  65. package/out/core/migration-manager.js +61 -32
  66. package/out/core/migration-manager.js.map +1 -1
  67. package/out/core/multi-db-manager.d.ts +26 -0
  68. package/out/core/multi-db-manager.d.ts.map +1 -1
  69. package/out/core/multi-db-manager.js +143 -2
  70. package/out/core/multi-db-manager.js.map +1 -1
  71. package/out/core/path-normalizer.d.ts +46 -0
  72. package/out/core/path-normalizer.d.ts.map +1 -0
  73. package/out/core/path-normalizer.js +152 -0
  74. package/out/core/path-normalizer.js.map +1 -0
  75. package/out/core/vector-database-factory.js +5 -5
  76. package/out/core/vector-database-factory.js.map +1 -1
  77. package/out/core/vss-vector-database.js +8 -8
  78. package/out/core/vss-vector-database.js.map +1 -1
  79. package/out/embedding/embedding-pipeline.d.ts +29 -0
  80. package/out/embedding/embedding-pipeline.d.ts.map +1 -1
  81. package/out/embedding/embedding-pipeline.js +288 -3
  82. package/out/embedding/embedding-pipeline.js.map +1 -1
  83. package/out/embedding/module-summarizer.d.ts +25 -0
  84. package/out/embedding/module-summarizer.d.ts.map +1 -0
  85. package/out/embedding/module-summarizer.js +104 -0
  86. package/out/embedding/module-summarizer.js.map +1 -0
  87. package/out/ingestors/adr-ingestor.d.ts.map +1 -1
  88. package/out/ingestors/adr-ingestor.js +7 -8
  89. package/out/ingestors/adr-ingestor.js.map +1 -1
  90. package/out/ingestors/module-ingestor.d.ts.map +1 -1
  91. package/out/ingestors/module-ingestor.js +17 -0
  92. package/out/ingestors/module-ingestor.js.map +1 -1
  93. package/out/ingestors/symbol-ingestor.d.ts.map +1 -1
  94. package/out/ingestors/symbol-ingestor.js +24 -2
  95. package/out/ingestors/symbol-ingestor.js.map +1 -1
  96. package/out/mcp/tools/gap-analysis.d.ts +21 -2
  97. package/out/mcp/tools/gap-analysis.d.ts.map +1 -1
  98. package/out/mcp/tools/gap-analysis.js +326 -27
  99. package/out/mcp/tools/gap-analysis.js.map +1 -1
  100. package/out/mcp/tools/learning-path.d.ts.map +1 -1
  101. package/out/mcp/tools/learning-path.js +19 -5
  102. package/out/mcp/tools/learning-path.js.map +1 -1
  103. package/out/mcp/tools/semantic-discovery.d.ts.map +1 -1
  104. package/out/mcp/tools/semantic-discovery.js +110 -22
  105. package/out/mcp/tools/semantic-discovery.js.map +1 -1
  106. package/out/mcp/tools/source-access-contract.d.ts +26 -0
  107. package/out/mcp/tools/source-access-contract.d.ts.map +1 -0
  108. package/out/mcp/tools/source-access-contract.js +45 -0
  109. package/out/mcp/tools/source-access-contract.js.map +1 -0
  110. package/out/mcp/tools/source-snippet.d.ts +71 -0
  111. package/out/mcp/tools/source-snippet.d.ts.map +1 -0
  112. package/out/mcp/tools/source-snippet.js +82 -0
  113. package/out/mcp/tools/source-snippet.js.map +1 -0
  114. package/out/models/action-hint.d.ts +36 -0
  115. package/out/models/action-hint.d.ts.map +1 -0
  116. package/out/models/action-hint.js +38 -0
  117. package/out/models/action-hint.js.map +1 -0
  118. package/out/models/evidence.d.ts +68 -0
  119. package/out/models/evidence.d.ts.map +1 -0
  120. package/out/models/evidence.js +91 -0
  121. package/out/models/evidence.js.map +1 -0
  122. package/out/models/module.d.ts +2 -0
  123. package/out/models/module.d.ts.map +1 -1
  124. package/out/models/reason-codes.d.ts +52 -0
  125. package/out/models/reason-codes.d.ts.map +1 -0
  126. package/out/models/reason-codes.js +83 -0
  127. package/out/models/reason-codes.js.map +1 -0
  128. package/out/models/symbol.d.ts +6 -0
  129. package/out/models/symbol.d.ts.map +1 -1
  130. package/out/repositories/module-repository.d.ts.map +1 -1
  131. package/out/repositories/module-repository.js +9 -3
  132. package/out/repositories/module-repository.js.map +1 -1
  133. package/out/repositories/symbol-repository.d.ts.map +1 -1
  134. package/out/repositories/symbol-repository.js +22 -4
  135. package/out/repositories/symbol-repository.js.map +1 -1
  136. package/out/services/cross-dimension-linker.d.ts +0 -5
  137. package/out/services/cross-dimension-linker.d.ts.map +1 -1
  138. package/out/services/cross-dimension-linker.js +2 -35
  139. package/out/services/cross-dimension-linker.js.map +1 -1
  140. package/package.json +196 -195
  141. package/schemas/sqlite/001_add_source_code_spans_modules.sql +7 -0
  142. package/schemas/sqlite/001_z_add_source_code_spans_modules.sql +13 -0
  143. package/schemas/sqlite/002_add_source_code_spans_symbols.sql +15 -0
  144. package/schemas/sqlite/002_z_add_source_code_spans_symbols.sql +21 -0
  145. package/schemas/sqlite/006_add_source_access_config.sql +33 -0
package/README.md CHANGED
@@ -110,6 +110,31 @@ Für AI-Agenten und Entwickler stehen CLI-Tools für direkten Datenbank-Zugriff
110
110
 
111
111
  **Hinweis:** Die Embedding-Pipeline wird automatisch bei der Ingestion ausgeführt, kann aber auch manuell via `noyrax-5d-database-embedding` ausgeführt werden (z.B. wenn ChromaDB nachträglich gestartet wurde).
112
112
 
113
+ ### Environment Variables
114
+
115
+ Das System nutzt folgende Environment Variables (können in `.env` Datei oder als System-Environment-Variablen gesetzt werden):
116
+
117
+ - **`OPENAI_API_KEY`** (erforderlich für Embeddings):
118
+ - API-Key für OpenAI (für Embedding-Generierung und optional Summarization)
119
+ - Wird automatisch aus `.env` Datei geladen
120
+ - Beispiel: `OPENAI_API_KEY=sk-...`
121
+
122
+ - **`EMBEDDING_STRATEGY`** (optional, default: `optimize`):
123
+ - Strategie für große Module-Dokumentationen (>8000 Tokens)
124
+ - Mögliche Werte:
125
+ - `optimize` (default): Intelligente Kürzung - behält Struktur, entfernt Details
126
+ - `hierarchical`: Nur Struktur (Header, Namen, Signaturen) - Details in Y-Dimension
127
+ - `summarize`: LLM-basierte Summarization (erfordert `OPENAI_API_KEY`)
128
+ - Beispiel: `EMBEDDING_STRATEGY=summarize`
129
+
130
+ **Token-Limit-Handling:**
131
+ - OpenAI text-embedding-3-small hat ein Context-Length-Limit von 8192 Tokens
132
+ - Große Module-Dokumentationen werden automatisch erkannt (>8000 Tokens)
133
+ - Die gewählte Strategie wird automatisch angewendet
134
+ - Bei Summarization-Fehlern: Automatischer Fallback auf Optimize-Strategie
135
+
136
+ Siehe `docs/adr/021-embedding-system-generator-pipeline.md` für Details zu den Strategien.
137
+
113
138
  **Gap Analysis Tool:**
114
139
 
115
140
  Das `gap_analysis` Tool identifiziert systematisch Dokumentationslücken:
@@ -25,11 +25,5 @@ export declare class AdrApi {
25
25
  * Supports various path formats (similar to ModuleApi.getModuleByPath).
26
26
  */
27
27
  getAdrsByFilePath(filePath: string, pluginId: string): Promise<Adr[]>;
28
- /**
29
- * Normalizes a file path to generate possible variants for flexible matching.
30
- * Returns an array of path variants in order of preference.
31
- * (Same logic as ModuleApi.normalizeFilePath)
32
- */
33
- private normalizeFilePath;
34
28
  }
35
29
  //# sourceMappingURL=adr-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adr-api.d.ts","sourceRoot":"","sources":["../../src/api/adr-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC;;GAEG;AACH,qBAAa,MAAM;IACf,OAAO,CAAC,SAAS,CAAiB;gBAEtB,SAAS,EAAE,cAAc;IAIrC;;;OAGG;IACU,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAwBrF;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAqC1B;;OAEG;IACU,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAMzD;;;OAGG;IACU,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAwBlF;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CA6C5B"}
1
+ {"version":3,"file":"adr-api.d.ts","sourceRoot":"","sources":["../../src/api/adr-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAGpC;;GAEG;AACH,qBAAa,MAAM;IACf,OAAO,CAAC,SAAS,CAAiB;gBAEtB,SAAS,EAAE,cAAc;IAIrC;;;OAGG;IACU,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAwBrF;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA2C1B;;OAEG;IACU,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAMzD;;;OAGG;IACU,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;CAwBrF"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AdrApi = void 0;
4
4
  const adr_repository_1 = require("../repositories/adr-repository");
5
+ const path_normalizer_1 = require("../core/path-normalizer");
5
6
  /**
6
7
  * API for W-Dimension: ADRs
7
8
  */
@@ -38,26 +39,31 @@ class AdrApi {
38
39
  */
39
40
  normalizeAdrNumber(adrNumber) {
40
41
  const variants = [];
42
+ // Normalize: Remove "ADR-" prefix if present (case-insensitive)
43
+ let normalizedInput = adrNumber.replace(/^ADR-/i, '').trim();
44
+ if (normalizedInput === '') {
45
+ normalizedInput = adrNumber; // Fallback to original if normalization resulted in empty string
46
+ }
41
47
  // Remove any non-numeric prefix/suffix
42
- const numericMatch = adrNumber.match(/(\d+)/);
48
+ const numericMatch = normalizedInput.match(/(\d+)/);
43
49
  if (!numericMatch) {
44
- return [adrNumber]; // Return original if no number found
50
+ return [normalizedInput]; // Return normalized if no number found
45
51
  }
46
52
  const numericPart = numericMatch[1];
47
53
  const numValue = parseInt(numericPart, 10);
48
- // Original
49
- variants.push(adrNumber);
54
+ // Original (normalized)
55
+ variants.push(normalizedInput);
50
56
  // With leading zeros (3 digits: "001", "020", "042")
51
57
  const withLeadingZeros = numValue.toString().padStart(3, '0');
52
58
  if (withLeadingZeros !== numericPart) {
53
- variants.push(adrNumber.replace(numericPart, withLeadingZeros));
59
+ variants.push(normalizedInput.replace(numericPart, withLeadingZeros));
54
60
  }
55
61
  // Without leading zeros (if original had them)
56
62
  if (numericPart !== numValue.toString()) {
57
- variants.push(adrNumber.replace(numericPart, numValue.toString()));
63
+ variants.push(normalizedInput.replace(numericPart, numValue.toString()));
58
64
  }
59
65
  // Just the number (if original had prefix/suffix)
60
- if (adrNumber !== numericPart) {
66
+ if (normalizedInput !== numericPart) {
61
67
  variants.push(numericPart);
62
68
  variants.push(withLeadingZeros);
63
69
  variants.push(numValue.toString());
@@ -86,7 +92,7 @@ class AdrApi {
86
92
  return adrs;
87
93
  }
88
94
  // Generate normalized path variants
89
- const pathVariants = this.normalizeFilePath(filePath);
95
+ const pathVariants = path_normalizer_1.PathNormalizer.generateLookupVariants(filePath);
90
96
  // Try each variant
91
97
  for (const variant of pathVariants) {
92
98
  adrs = await repository.findByFilePath(variant, pluginId);
@@ -96,47 +102,6 @@ class AdrApi {
96
102
  }
97
103
  return [];
98
104
  }
99
- /**
100
- * Normalizes a file path to generate possible variants for flexible matching.
101
- * Returns an array of path variants in order of preference.
102
- * (Same logic as ModuleApi.normalizeFilePath)
103
- */
104
- normalizeFilePath(filePath) {
105
- const variants = [];
106
- // Normalize separators to forward slashes
107
- let normalized = filePath.replace(/\\/g, '/');
108
- variants.push(normalized);
109
- // Remove leading slashes
110
- const withoutLeadingSlash = normalized.replace(/^\/+/, '');
111
- if (withoutLeadingSlash !== normalized) {
112
- variants.push(withoutLeadingSlash);
113
- }
114
- const pluginPrefixes = ['5d-database-plugin/', 'documentation-system-plugin/', 'mcp-server/'];
115
- // Remove common plugin prefixes (e.g., "5d-database-plugin/")
116
- for (const prefix of pluginPrefixes) {
117
- if (normalized.startsWith(prefix)) {
118
- const withoutPrefix = normalized.substring(prefix.length);
119
- variants.push(withoutPrefix);
120
- }
121
- // Also try without leading slash
122
- if (withoutLeadingSlash.startsWith(prefix)) {
123
- const withoutPrefix = withoutLeadingSlash.substring(prefix.length);
124
- variants.push(withoutPrefix);
125
- }
126
- }
127
- // ADD variants WITH plugin prefixes (if path doesn't already have one)
128
- // This handles cases where file mappings are stored with plugin prefix but queried without
129
- const hasPluginPrefix = pluginPrefixes.some(prefix => normalized.startsWith(prefix) || withoutLeadingSlash.startsWith(prefix));
130
- if (!hasPluginPrefix) {
131
- // Add variants with each plugin prefix
132
- for (const prefix of pluginPrefixes) {
133
- variants.push(`${prefix}${withoutLeadingSlash}`);
134
- variants.push(`${prefix}${normalized}`);
135
- }
136
- }
137
- // Remove duplicates and return
138
- return Array.from(new Set(variants));
139
- }
140
105
  }
141
106
  exports.AdrApi = AdrApi;
142
107
  //# sourceMappingURL=adr-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adr-api.js","sourceRoot":"","sources":["../../src/api/adr-api.ts"],"names":[],"mappings":";;;AAEA,mEAA+D;AAG/D;;GAEG;AACH,MAAa,MAAM;IAGf,YAAY,SAAyB;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,QAAgB;QAC3D,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,8BAAa,CAAC,EAAE,CAAC,CAAC;QAEzC,wBAAwB;QACxB,IAAI,GAAG,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC/D,IAAI,GAAG,EAAE,CAAC;YACN,OAAO,GAAG,CAAC;QACf,CAAC;QAED,wDAAwD;QACxD,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAE7D,8BAA8B;QAC9B,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;YACzC,GAAG,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC5D,IAAI,GAAG,EAAE,CAAC;gBACN,OAAO,GAAG,CAAC;YACf,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAC,SAAiB;QACxC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,uCAAuC;QACvC,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,qCAAqC;QAC7D,CAAC;QAED,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAE3C,WAAW;QACX,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEzB,qDAAqD;QACrD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9D,IAAI,gBAAgB,KAAK,WAAW,EAAE,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,+CAA+C;QAC/C,IAAI,WAAW,KAAK,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,kDAAkD;QAClD,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,+BAA+B;QAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU,CAAC,QAAgB;QACpC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,8BAAa,CAAC,EAAE,CAAC,CAAC;QACzC,OAAO,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,iBAAiB,CAAC,QAAgB,EAAE,QAAgB;QAC7D,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,8BAAa,CAAC,EAAE,CAAC,CAAC;QAEzC,wBAAwB;QACxB,IAAI,IAAI,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,oCAAoC;QACpC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAEtD,mBAAmB;QACnB,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACjC,IAAI,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC1D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;;;OAIG;IACK,iBAAiB,CAAC,QAAgB;QACtC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,0CAA0C;QAC1C,IAAI,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE1B,yBAAyB;QACzB,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3D,IAAI,mBAAmB,KAAK,UAAU,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,cAAc,GAAG,CAAC,qBAAqB,EAAE,8BAA8B,EAAE,aAAa,CAAC,CAAC;QAE9F,8DAA8D;QAC9D,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;YAClC,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChC,MAAM,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC1D,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACjC,CAAC;YACD,iCAAiC;YACjC,IAAI,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzC,MAAM,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACnE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;QAED,uEAAuE;QACvE,2FAA2F;QAC3F,MAAM,eAAe,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CACjD,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,CAC1E,CAAC;QAEF,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,uCAAuC;YACvC,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;gBAClC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,mBAAmB,EAAE,CAAC,CAAC;gBACjD,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,UAAU,EAAE,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;QAED,+BAA+B;QAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzC,CAAC;CACJ;AAnKD,wBAmKC"}
1
+ {"version":3,"file":"adr-api.js","sourceRoot":"","sources":["../../src/api/adr-api.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { MultiDbManager } from '../core/multi-db-manager';
2
2
  import { EntityReference } from '../models/entity-reference';
3
+ import { Evidence } from '../models/evidence';
3
4
  /**
4
5
  * Bootstrap information for first-time system understanding.
5
6
  * Provides everything an agent needs to start without prior knowledge.
@@ -14,7 +15,7 @@ export interface BootstrapInfo {
14
15
  how_to_navigate: string;
15
16
  example_queries: string[];
16
17
  dimensions_overview: Array<{
17
- id: 'X' | 'Y' | 'Z' | 'W' | 'T';
18
+ id: 'X' | 'Y' | 'Z' | 'W' | 'T' | 'V';
18
19
  name: string;
19
20
  description: string;
20
21
  }>;
@@ -23,6 +24,7 @@ export interface BootstrapInfo {
23
24
  description: string;
24
25
  example: any;
25
26
  }>;
27
+ evidence?: Evidence;
26
28
  }
27
29
  /**
28
30
  * Bootstrap API - first point of contact for agents without prior knowledge.
@@ -31,6 +33,10 @@ export interface BootstrapInfo {
31
33
  export declare class BootstrapApi {
32
34
  private dbManager;
33
35
  private selfExplanationApi;
36
+ private evidenceGrader;
37
+ private adrApi;
38
+ private symbolApi;
39
+ private moduleApi;
34
40
  constructor(dbManager: MultiDbManager);
35
41
  /**
36
42
  * Gets bootstrap information for first-time system understanding.
@@ -39,5 +45,30 @@ export declare class BootstrapApi {
39
45
  * @returns Promise that resolves to bootstrap information
40
46
  */
41
47
  getBootstrapInfo(pluginId: string): Promise<BootstrapInfo>;
48
+ /**
49
+ * Generates dynamic example queries based on actual system data:
50
+ * - Entry Points (module names)
51
+ * - ADR Titles
52
+ * - Most common symbol names
53
+ * - Cluster names
54
+ *
55
+ * Falls back to generic queries if no data is available.
56
+ */
57
+ private generateExampleQueries;
58
+ /**
59
+ * Extracts module name from file path.
60
+ * Example: "src/api/bootstrap-api.ts" -> "bootstrap-api"
61
+ */
62
+ private extractModuleName;
63
+ /**
64
+ * Extracts topic from ADR title.
65
+ * Example: "ADR-040: Unified MCP Server" -> "Unified MCP Server"
66
+ */
67
+ private extractTopicFromAdrTitle;
68
+ /**
69
+ * Extracts cluster name from cluster ID.
70
+ * Example: "cluster:src/api" -> "API"
71
+ */
72
+ private extractClusterName;
42
73
  }
43
74
  //# sourceMappingURL=bootstrap-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap-api.d.ts","sourceRoot":"","sources":["../../src/api/bootstrap-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,KAAK,CAAC;QAClB,MAAM,EAAE,eAAe,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,EAAE,KAAK,CAAC;QACvB,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;QAChC,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;IACH,eAAe,EAAE,KAAK,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,GAAG,CAAC;KAChB,CAAC,CAAC;CACN;AAED;;;GAGG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,kBAAkB,CAAqB;gBAEnC,SAAS,EAAE,cAAc;IAKrC;;;;;OAKG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CAoEnE"}
1
+ {"version":3,"file":"bootstrap-api.d.ts","sourceRoot":"","sources":["../../src/api/bootstrap-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAM9C;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,KAAK,CAAC;QAClB,MAAM,EAAE,eAAe,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,EAAE,KAAK,CAAC;QACvB,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;QACtC,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;IACH,eAAe,EAAE,KAAK,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,GAAG,CAAC;KAChB,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACvB;AAID;;;GAGG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAY;gBAEjB,SAAS,EAAE,cAAc;IASrC;;;;;OAKG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAyFhE;;;;;;;;OAQG;YACW,sBAAsB;IA4HpC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAczB;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAYhC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAkB7B"}
@@ -2,6 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BootstrapApi = void 0;
4
4
  const self_explanation_api_1 = require("./self-explanation-api");
5
+ const adr_api_1 = require("./adr-api");
6
+ const symbol_api_1 = require("./symbol-api");
7
+ const module_api_1 = require("./module-api");
8
+ const navigation_repository_1 = require("../repositories/navigation-repository");
9
+ const evidence_grader_1 = require("./evidence-grader");
5
10
  /**
6
11
  * Bootstrap API - first point of contact for agents without prior knowledge.
7
12
  * Provides system description, entry points, and example queries.
@@ -10,6 +15,10 @@ class BootstrapApi {
10
15
  constructor(dbManager) {
11
16
  this.dbManager = dbManager;
12
17
  this.selfExplanationApi = new self_explanation_api_1.SelfExplanationApi(dbManager);
18
+ this.evidenceGrader = new evidence_grader_1.EvidenceGrader();
19
+ this.adrApi = new adr_api_1.AdrApi(dbManager);
20
+ this.symbolApi = new symbol_api_1.SymbolApi(dbManager);
21
+ this.moduleApi = new module_api_1.ModuleApi(dbManager);
13
22
  }
14
23
  /**
15
24
  * Gets bootstrap information for first-time system understanding.
@@ -20,6 +29,9 @@ class BootstrapApi {
20
29
  async getBootstrapInfo(pluginId) {
21
30
  // Get system explanation
22
31
  const systemExplanation = await this.selfExplanationApi.explainSystem(pluginId);
32
+ // Prüfung: Sind Daten vorhanden? (entry_points ODER dimensions entity_count > 0)
33
+ const hasData = systemExplanation.entry_points.length > 0 ||
34
+ systemExplanation.dimensions.some(d => (d.entity_count || 0) > 0);
23
35
  // Get entry points with reasons
24
36
  const entryPoints = systemExplanation.entry_points.map(ep => ({
25
37
  entity: {
@@ -29,21 +41,31 @@ class BootstrapApi {
29
41
  },
30
42
  reason: ep.reason || 'Entry point'
31
43
  }));
44
+ // how_to_navigate beschreibt den Mechanismus (5D views + Tools), nicht die Identität
45
+ let howToNavigate;
46
+ if (hasData) {
47
+ // Mode B: Has Data - Mechanismus-Beschreibung
48
+ howToNavigate = `Use semantic_discovery tool with natural language queries. The system will find relevant entities and provide structured context from all 6 dimensions (X: Modules, Y: Symbols, Z: Dependencies, W: ADRs, T: Changes, V: Embeddings).`;
49
+ }
50
+ else {
51
+ // Mode A: No Data (First Run) - Initialisierungs-Anweisungen
52
+ howToNavigate = `To get started, use 'workflow_ensure_ready' to automatically generate documentation and populate the databases. Alternatively, use 'workflow_full_cycle' for a complete workflow (Scan → Generate → Validate → Ingest → Embeddings) or 'workflow_generate_and_ingest' for a simpler workflow (Generate → Ingest).`;
53
+ }
54
+ // Create evidence: INFERRED from system explanation (which is derived from DB queries)
55
+ const evidence = this.evidenceGrader.gradeAsInferred([
56
+ {
57
+ type: 'DB_QUERY',
58
+ path: 'system_explanation'
59
+ }
60
+ ], 'Bootstrap information derived from system explanation, which aggregates data from multiple database queries');
61
+ // Generate dynamic example queries based on actual system data
62
+ const exampleQueries = await this.generateExampleQueries(pluginId, entryPoints);
32
63
  return {
33
- what_am_i: systemExplanation.what_am_i,
34
- how_do_i_work: systemExplanation.how_do_i_work,
64
+ what_am_i: systemExplanation.what_am_i, // Die Codebase (Name/Desc)
65
+ how_do_i_work: systemExplanation.how_do_i_work, // System facts (was ist in der Codebase)
35
66
  where_to_start: entryPoints,
36
- how_to_navigate: 'Use semantic_discovery tool with natural language queries. The system will find relevant entities and provide structured context from all 5 dimensions.',
37
- example_queries: [
38
- 'How does ingestion work?',
39
- 'What are the main components?',
40
- 'How do I add a new dimension?',
41
- 'What is the architecture?',
42
- 'How do dependencies work?',
43
- 'How does the database system work?',
44
- 'What are the entry points?',
45
- 'How do I navigate the codebase?'
46
- ],
67
+ how_to_navigate: howToNavigate, // Mechanismus (5D-System als Tool), nicht Identität
68
+ example_queries: exampleQueries,
47
69
  dimensions_overview: systemExplanation.dimensions.map(dim => ({
48
70
  id: dim.id,
49
71
  name: dim.name,
@@ -80,9 +102,180 @@ class BootstrapApi {
80
102
  pluginId
81
103
  }
82
104
  }
83
- ]
105
+ ],
106
+ evidence
84
107
  };
85
108
  }
109
+ /**
110
+ * Generates dynamic example queries based on actual system data:
111
+ * - Entry Points (module names)
112
+ * - ADR Titles
113
+ * - Most common symbol names
114
+ * - Cluster names
115
+ *
116
+ * Falls back to generic queries if no data is available.
117
+ */
118
+ async generateExampleQueries(pluginId, entryPoints) {
119
+ const queries = [];
120
+ try {
121
+ // 1. Entry Points: Generate queries from entry point module names
122
+ if (entryPoints.length > 0) {
123
+ const entryPointModules = entryPoints
124
+ .filter(ep => ep.entity.dimension === 'X')
125
+ .slice(0, 3); // Max 3 entry points
126
+ for (const ep of entryPointModules) {
127
+ const moduleName = this.extractModuleName(ep.entity.external_id);
128
+ if (moduleName) {
129
+ queries.push(`How does ${moduleName} work?`);
130
+ }
131
+ }
132
+ }
133
+ // 2. ADR Titles: Generate queries from ADR titles
134
+ try {
135
+ const adrs = await this.adrApi.getAllAdrs(pluginId);
136
+ if (adrs.length > 0) {
137
+ // Take first 2-3 ADRs and generate queries
138
+ const selectedAdrs = adrs.slice(0, 3);
139
+ for (const adr of selectedAdrs) {
140
+ // Extract key topic from ADR title
141
+ const topic = this.extractTopicFromAdrTitle(adr.title);
142
+ if (topic) {
143
+ queries.push(`What is ${topic}?`);
144
+ }
145
+ }
146
+ }
147
+ }
148
+ catch (error) {
149
+ // Ignore errors, fall back to generic queries
150
+ }
151
+ // 3. Most common symbol names: Generate queries from frequently used symbols
152
+ try {
153
+ const symbols = await this.symbolApi.getAllSymbols(pluginId);
154
+ if (symbols.length > 0) {
155
+ // Count symbol name frequency
156
+ const symbolCounts = new Map();
157
+ for (const symbol of symbols) {
158
+ const name = symbol.name;
159
+ symbolCounts.set(name, (symbolCounts.get(name) || 0) + 1);
160
+ }
161
+ // Get top 3 most common symbol names
162
+ const topSymbols = Array.from(symbolCounts.entries())
163
+ .sort((a, b) => b[1] - a[1])
164
+ .slice(0, 3)
165
+ .map(([name]) => name);
166
+ for (const symbolName of topSymbols) {
167
+ queries.push(`What is ${symbolName}?`);
168
+ }
169
+ }
170
+ }
171
+ catch (error) {
172
+ // Ignore errors, fall back to generic queries
173
+ }
174
+ // 4. Cluster names: Generate queries from cluster names
175
+ try {
176
+ const db = await this.dbManager.getDatabase('V');
177
+ const navRepo = new navigation_repository_1.NavigationRepository(db);
178
+ const allMetadata = await navRepo.getAll(pluginId);
179
+ // Extract unique cluster IDs
180
+ const clusterIds = new Set();
181
+ for (const metadata of allMetadata) {
182
+ if (metadata.cluster_id) {
183
+ clusterIds.add(metadata.cluster_id);
184
+ }
185
+ }
186
+ // Generate queries from cluster names (extract directory/component name)
187
+ const clusterNames = Array.from(clusterIds).slice(0, 2);
188
+ for (const clusterId of clusterNames) {
189
+ const clusterName = this.extractClusterName(clusterId);
190
+ if (clusterName) {
191
+ queries.push(`What is the ${clusterName} component?`);
192
+ }
193
+ }
194
+ }
195
+ catch (error) {
196
+ // Ignore errors, fall back to generic queries
197
+ }
198
+ // 5. Add generic fallback queries if we don't have enough
199
+ const genericQueries = [
200
+ 'What are the main components?',
201
+ 'What is the architecture?',
202
+ 'How do dependencies work?',
203
+ 'What are the entry points?',
204
+ 'How do I navigate the codebase?'
205
+ ];
206
+ // Fill up to 8 queries total (mix of dynamic and generic)
207
+ while (queries.length < 8 && genericQueries.length > 0) {
208
+ const generic = genericQueries.shift();
209
+ if (generic && !queries.includes(generic)) {
210
+ queries.push(generic);
211
+ }
212
+ }
213
+ // Limit to 8 queries max
214
+ return queries.slice(0, 8);
215
+ }
216
+ catch (error) {
217
+ // Fallback to generic queries if anything fails
218
+ return [
219
+ 'What are the main components?',
220
+ 'What is the architecture?',
221
+ 'How do dependencies work?',
222
+ 'What are the entry points?',
223
+ 'How do I navigate the codebase?',
224
+ 'How does the system work?',
225
+ 'What are the key modules?',
226
+ 'How do I get started?'
227
+ ];
228
+ }
229
+ }
230
+ /**
231
+ * Extracts module name from file path.
232
+ * Example: "src/api/bootstrap-api.ts" -> "bootstrap-api"
233
+ */
234
+ extractModuleName(filePath) {
235
+ if (!filePath)
236
+ return null;
237
+ // Extract filename without extension
238
+ const fileName = filePath.split('/').pop() || filePath.split('\\').pop() || '';
239
+ const nameWithoutExt = fileName.replace(/\.(ts|js|tsx|jsx)$/, '');
240
+ // Convert kebab-case or snake_case to readable name
241
+ return nameWithoutExt
242
+ .replace(/[-_]/g, ' ')
243
+ .replace(/\b\w/g, l => l.toUpperCase())
244
+ .trim() || null;
245
+ }
246
+ /**
247
+ * Extracts topic from ADR title.
248
+ * Example: "ADR-040: Unified MCP Server" -> "Unified MCP Server"
249
+ */
250
+ extractTopicFromAdrTitle(title) {
251
+ if (!title)
252
+ return null;
253
+ // Remove ADR number prefix (e.g., "ADR-040: " or "040: ")
254
+ const cleaned = title.replace(/^ADR-\d+:\s*/i, '').replace(/^\d+:\s*/, '');
255
+ // Extract first meaningful phrase (before dash or colon if present)
256
+ const topic = cleaned.split(/[-–—]/)[0].split(':')[0].trim();
257
+ return topic || null;
258
+ }
259
+ /**
260
+ * Extracts cluster name from cluster ID.
261
+ * Example: "cluster:src/api" -> "API"
262
+ */
263
+ extractClusterName(clusterId) {
264
+ if (!clusterId)
265
+ return null;
266
+ // Remove "cluster:" prefix
267
+ const cleaned = clusterId.replace(/^cluster:/, '');
268
+ // Extract last directory name (most meaningful)
269
+ const parts = cleaned.split('/').filter(p => p);
270
+ if (parts.length === 0)
271
+ return null;
272
+ const lastPart = parts[parts.length - 1];
273
+ // Convert to readable name
274
+ return lastPart
275
+ .replace(/[-_]/g, ' ')
276
+ .replace(/\b\w/g, l => l.toUpperCase())
277
+ .trim() || null;
278
+ }
86
279
  }
87
280
  exports.BootstrapApi = BootstrapApi;
88
281
  //# sourceMappingURL=bootstrap-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap-api.js","sourceRoot":"","sources":["../../src/api/bootstrap-api.ts"],"names":[],"mappings":";;;AACA,iEAA4D;AA4B5D;;;GAGG;AACH,MAAa,YAAY;IAIrB,YAAY,SAAyB;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,yCAAkB,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QACnC,yBAAyB;QACzB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEhF,gCAAgC;QAChC,MAAM,WAAW,GAAG,iBAAiB,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1D,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,CAAC,SAAS;gBACvB,SAAS,EAAE,EAAE,CAAC,SAAS;gBACvB,WAAW,EAAE,EAAE,CAAC,WAAW;aAC9B;YACD,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,aAAa;SACrC,CAAC,CAAC,CAAC;QAEJ,OAAO;YACH,SAAS,EAAE,iBAAiB,CAAC,SAAS;YACtC,aAAa,EAAE,iBAAiB,CAAC,aAAa;YAC9C,cAAc,EAAE,WAAW;YAC3B,eAAe,EAAE,yJAAyJ;YAC1K,eAAe,EAAE;gBACb,0BAA0B;gBAC1B,+BAA+B;gBAC/B,+BAA+B;gBAC/B,2BAA2B;gBAC3B,2BAA2B;gBAC3B,oCAAoC;gBACpC,4BAA4B;gBAC5B,iCAAiC;aACpC;YACD,mBAAmB,EAAE,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC1D,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,WAAW,EAAE,GAAG,CAAC,WAAW;aAC/B,CAAC,CAAC;YACH,eAAe,EAAE;gBACb;oBACI,IAAI,EAAE,oBAAoB;oBAC1B,WAAW,EAAE,6DAA6D;oBAC1E,OAAO,EAAE;wBACL,KAAK,EAAE,0BAA0B;wBACjC,QAAQ;qBACX;iBACJ;gBACD;oBACI,IAAI,EAAE,oBAAoB;oBAC1B,WAAW,EAAE,0DAA0D;oBACvE,OAAO,EAAE;wBACL,QAAQ;qBACX;iBACJ;gBACD;oBACI,IAAI,EAAE,eAAe;oBACrB,WAAW,EAAE,yDAAyD;oBACtE,OAAO,EAAE;wBACL,KAAK,EAAE,WAAW;wBAClB,QAAQ;qBACX;iBACJ;gBACD;oBACI,IAAI,EAAE,WAAW;oBACjB,WAAW,EAAE,6FAA6F;oBAC1G,OAAO,EAAE;wBACL,QAAQ;qBACX;iBACJ;aACJ;SACJ,CAAC;IACN,CAAC;CACJ;AAnFD,oCAmFC"}
1
+ {"version":3,"file":"bootstrap-api.js","sourceRoot":"","sources":["../../src/api/bootstrap-api.ts"],"names":[],"mappings":";;;AACA,iEAA4D;AAG5D,uCAAmC;AACnC,6CAAyC;AACzC,6CAAyC;AACzC,iFAA6E;AA4B7E,uDAAmD;AAEnD;;;GAGG;AACH,MAAa,YAAY;IAQrB,YAAY,SAAyB;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,yCAAkB,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAM,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,sBAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,sBAAS,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QACnC,yBAAyB;QACzB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEhF,iFAAiF;QACjF,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YAC1C,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEjF,gCAAgC;QAChC,MAAM,WAAW,GAAG,iBAAiB,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1D,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,CAAC,SAAS;gBACvB,SAAS,EAAE,EAAE,CAAC,SAAS;gBACvB,WAAW,EAAE,EAAE,CAAC,WAAW;aAC9B;YACD,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,aAAa;SACrC,CAAC,CAAC,CAAC;QAEJ,qFAAqF;QACrF,IAAI,aAAqB,CAAC;QAC1B,IAAI,OAAO,EAAE,CAAC;YACV,8CAA8C;YAC9C,aAAa,GAAG,uOAAuO,CAAC;QAC5P,CAAC;aAAM,CAAC;YACJ,6DAA6D;YAC7D,aAAa,GAAG,mTAAmT,CAAC;QACxU,CAAC;QAED,uFAAuF;QACvF,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAChD;YACI;gBACI,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,oBAAoB;aAC7B;SACJ,EACD,6GAA6G,CAChH,CAAC;QAEF,+DAA+D;QAC/D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAEhF,OAAO;YACH,SAAS,EAAE,iBAAiB,CAAC,SAAS,EAAG,2BAA2B;YACpE,aAAa,EAAE,iBAAiB,CAAC,aAAa,EAAG,yCAAyC;YAC1F,cAAc,EAAE,WAAW;YAC3B,eAAe,EAAE,aAAa,EAAG,oDAAoD;YACrF,eAAe,EAAE,cAAc;YAC/B,mBAAmB,EAAE,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC1D,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,WAAW,EAAE,GAAG,CAAC,WAAW;aAC/B,CAAC,CAAC;YACH,eAAe,EAAE;gBACb;oBACI,IAAI,EAAE,oBAAoB;oBAC1B,WAAW,EAAE,6DAA6D;oBAC1E,OAAO,EAAE;wBACL,KAAK,EAAE,0BAA0B;wBACjC,QAAQ;qBACX;iBACJ;gBACD;oBACI,IAAI,EAAE,oBAAoB;oBAC1B,WAAW,EAAE,0DAA0D;oBACvE,OAAO,EAAE;wBACL,QAAQ;qBACX;iBACJ;gBACD;oBACI,IAAI,EAAE,eAAe;oBACrB,WAAW,EAAE,yDAAyD;oBACtE,OAAO,EAAE;wBACL,KAAK,EAAE,WAAW;wBAClB,QAAQ;qBACX;iBACJ;gBACD;oBACI,IAAI,EAAE,WAAW;oBACjB,WAAW,EAAE,6FAA6F;oBAC1G,OAAO,EAAE;wBACL,QAAQ;qBACX;iBACJ;aACJ;YACD,QAAQ;SACX,CAAC;IACN,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,sBAAsB,CAChC,QAAgB,EAChB,WAA+D;QAE/D,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,IAAI,CAAC;YACD,kEAAkE;YAClE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,iBAAiB,GAAG,WAAW;qBAChC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,GAAG,CAAC;qBACzC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAqB;gBAEvC,KAAK,MAAM,EAAE,IAAI,iBAAiB,EAAE,CAAC;oBACjC,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBACjE,IAAI,UAAU,EAAE,CAAC;wBACb,OAAO,CAAC,IAAI,CAAC,YAAY,UAAU,QAAQ,CAAC,CAAC;oBACjD,CAAC;gBACL,CAAC;YACL,CAAC;YAED,kDAAkD;YAClD,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACpD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClB,2CAA2C;oBAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACtC,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;wBAC7B,mCAAmC;wBACnC,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACvD,IAAI,KAAK,EAAE,CAAC;4BACR,OAAO,CAAC,IAAI,CAAC,WAAW,KAAK,GAAG,CAAC,CAAC;wBACtC,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,8CAA8C;YAClD,CAAC;YAED,6EAA6E;YAC7E,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC7D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,8BAA8B;oBAC9B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;oBAC/C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;wBACzB,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC9D,CAAC;oBAED,qCAAqC;oBACrC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;yBAChD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC3B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;yBACX,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;oBAE3B,KAAK,MAAM,UAAU,IAAI,UAAU,EAAE,CAAC;wBAClC,OAAO,CAAC,IAAI,CAAC,WAAW,UAAU,GAAG,CAAC,CAAC;oBAC3C,CAAC;gBACL,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,8CAA8C;YAClD,CAAC;YAED,wDAAwD;YACxD,IAAI,CAAC;gBACD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACjD,MAAM,OAAO,GAAG,IAAI,4CAAoB,CAAC,EAAE,CAAC,CAAC;gBAC7C,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAEnD,6BAA6B;gBAC7B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;gBACrC,KAAK,MAAM,QAAQ,IAAI,WAAW,EAAE,CAAC;oBACjC,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;wBACtB,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBACxC,CAAC;gBACL,CAAC;gBAED,yEAAyE;gBACzE,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxD,KAAK,MAAM,SAAS,IAAI,YAAY,EAAE,CAAC;oBACnC,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;oBACvD,IAAI,WAAW,EAAE,CAAC;wBACd,OAAO,CAAC,IAAI,CAAC,eAAe,WAAW,aAAa,CAAC,CAAC;oBAC1D,CAAC;gBACL,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,8CAA8C;YAClD,CAAC;YAED,0DAA0D;YAC1D,MAAM,cAAc,GAAG;gBACnB,+BAA+B;gBAC/B,2BAA2B;gBAC3B,2BAA2B;gBAC3B,4BAA4B;gBAC5B,iCAAiC;aACpC,CAAC;YAEF,0DAA0D;YAC1D,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrD,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC;gBACvC,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1B,CAAC;YACL,CAAC;YAED,yBAAyB;YACzB,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,gDAAgD;YAChD,OAAO;gBACH,+BAA+B;gBAC/B,2BAA2B;gBAC3B,2BAA2B;gBAC3B,4BAA4B;gBAC5B,iCAAiC;gBACjC,2BAA2B;gBAC3B,2BAA2B;gBAC3B,uBAAuB;aAC1B,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,QAAgB;QACtC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,qCAAqC;QACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QAC/E,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QAElE,oDAAoD;QACpD,OAAO,cAAc;aAChB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;aACrB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACtC,IAAI,EAAE,IAAI,IAAI,CAAC;IACxB,CAAC;IAED;;;OAGG;IACK,wBAAwB,CAAC,KAAa;QAC1C,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,0DAA0D;QAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAE3E,oEAAoE;QACpE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE7D,OAAO,KAAK,IAAI,IAAI,CAAC;IACzB,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAC,SAAiB;QACxC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAE5B,2BAA2B;QAC3B,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAEnD,gDAAgD;QAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEzC,2BAA2B;QAC3B,OAAO,QAAQ;aACV,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;aACrB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACtC,IAAI,EAAE,IAAI,IAAI,CAAC;IACxB,CAAC;CACJ;AA7SD,oCA6SC"}
@@ -1 +1 @@
1
- {"version":3,"file":"context-builder.d.ts","sourceRoot":"","sources":["../../src/api/context-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAQ7C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAO7D;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,KAAK,CAAC;QACZ,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;QACvC,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,GAAG,CAAC;KAChB,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,CAAC;QACX,SAAS,EAAE,eAAe,CAAC;QAC3B,YAAY,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,IAAI,EAAE,KAAK,CAAC;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,MAAM,CAAC;KAC3B,CAAC,CAAC;IACH,YAAY,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;CACvC;AAED;;;GAGG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAY;gBAEjB,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ;IAUzD;;;;;;OAMG;IACG,YAAY,CACd,UAAU,EAAE,eAAe,EAAE,EAC7B,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC;IAiD7B;;OAEG;YACW,gBAAgB;IA4B9B;;OAEG;YACW,kBAAkB;IAwEhC;;OAEG;YACW,eAAe;IAoC7B;;OAEG;YACW,eAAe;IA4C7B;;OAEG;YACW,cAAc;IAY5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAgBlC"}
1
+ {"version":3,"file":"context-builder.d.ts","sourceRoot":"","sources":["../../src/api/context-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAQ7C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAO7D;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,KAAK,CAAC;QACZ,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;QACvC,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,GAAG,CAAC;KAChB,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,CAAC;QACX,SAAS,EAAE,eAAe,CAAC;QAC3B,YAAY,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,IAAI,EAAE,KAAK,CAAC;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,MAAM,CAAC;KAC3B,CAAC,CAAC;IACH,YAAY,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;CACvC;AAED;;;GAGG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAY;gBAEjB,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ;IAUzD;;;;;;OAMG;IACG,YAAY,CACd,UAAU,EAAE,eAAe,EAAE,EAC7B,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC;IAiD7B;;OAEG;YACW,gBAAgB;IA4B9B;;OAEG;YACW,kBAAkB;IAwEhC;;OAEG;YACW,eAAe;IAoC7B;;OAEG;YACW,eAAe;IA4C7B;;OAEG;YACW,cAAc;IA6B5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAgBlC"}
@@ -248,11 +248,27 @@ class ContextBuilder {
248
248
  const db = await this.dbManager.getDatabase('V');
249
249
  const navRepo = new navigation_repository_1.NavigationRepository(db);
250
250
  const entryPoints = await navRepo.getEntryPoints('X', pluginId);
251
- return entryPoints.map(ep => ({
252
- dimension: ep.dimension,
253
- entity_id: ep.entity_id,
254
- external_id: '' // Will be resolved from module
255
- }));
251
+ const result = [];
252
+ // ✅ Fix: Use existing this.moduleApi (already initialized in constructor)
253
+ for (const ep of entryPoints) {
254
+ try {
255
+ const module = await this.moduleApi.getModuleById(ep.entity_id, pluginId);
256
+ if (module) {
257
+ result.push({
258
+ dimension: ep.dimension,
259
+ entity_id: ep.entity_id,
260
+ external_id: module.file_path // ✅ Fix: Use actual file_path instead of ''
261
+ });
262
+ }
263
+ // Skip entry points without corresponding module
264
+ }
265
+ catch (error) {
266
+ // Skip entry points that cause errors (e.g., module not found)
267
+ // This ensures we don't break the entire context building process
268
+ continue;
269
+ }
270
+ }
271
+ return result;
256
272
  }
257
273
  /**
258
274
  * Deduplicates ADRs by adr_number.
@@ -1 +1 @@
1
- {"version":3,"file":"context-builder.js","sourceRoot":"","sources":["../../src/api/context-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-builder.js","sourceRoot":"","sources":["../../src/api/context-builder.ts"],"names":[],"mappings":"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"}