@noyrax/5d-database-plugin 0.1.8-beta.1 → 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 (41) hide show
  1. package/out/api/adr-api.d.ts +15 -2
  2. package/out/api/adr-api.d.ts.map +1 -1
  3. package/out/api/adr-api.js +98 -4
  4. package/out/api/adr-api.js.map +1 -1
  5. package/out/api/index.d.ts +1 -0
  6. package/out/api/index.d.ts.map +1 -1
  7. package/out/api/index.js +3 -1
  8. package/out/api/index.js.map +1 -1
  9. package/out/api/ingestion-api.d.ts +42 -0
  10. package/out/api/ingestion-api.d.ts.map +1 -0
  11. package/out/api/ingestion-api.js +148 -0
  12. package/out/api/ingestion-api.js.map +1 -0
  13. package/out/api/module-api.d.ts +11 -1
  14. package/out/api/module-api.d.ts.map +1 -1
  15. package/out/api/module-api.js +54 -2
  16. package/out/api/module-api.js.map +1 -1
  17. package/out/cli/ingest-cli.js +43 -19
  18. package/out/cli/ingest-cli.js.map +1 -1
  19. package/out/core/migration-manager.d.ts +31 -0
  20. package/out/core/migration-manager.d.ts.map +1 -1
  21. package/out/core/migration-manager.js +126 -7
  22. package/out/core/migration-manager.js.map +1 -1
  23. package/out/core/multi-db-manager.d.ts +10 -0
  24. package/out/core/multi-db-manager.d.ts.map +1 -1
  25. package/out/core/multi-db-manager.js +51 -0
  26. package/out/core/multi-db-manager.js.map +1 -1
  27. package/out/ingestors/adr-ingestor.d.ts +7 -0
  28. package/out/ingestors/adr-ingestor.d.ts.map +1 -1
  29. package/out/ingestors/adr-ingestor.js +41 -9
  30. package/out/ingestors/adr-ingestor.js.map +1 -1
  31. package/out/repositories/module-repository.d.ts +5 -0
  32. package/out/repositories/module-repository.d.ts.map +1 -1
  33. package/out/repositories/module-repository.js +24 -0
  34. package/out/repositories/module-repository.js.map +1 -1
  35. package/out/services/navigation-builder.d.ts.map +1 -1
  36. package/out/services/navigation-builder.js +70 -11
  37. package/out/services/navigation-builder.js.map +1 -1
  38. package/out/ui/database-explorer.d.ts.map +1 -1
  39. package/out/ui/database-explorer.js +47 -1
  40. package/out/ui/database-explorer.js.map +1 -1
  41. package/package.json +1 -1
@@ -7,16 +7,29 @@ export declare class AdrApi {
7
7
  private dbManager;
8
8
  constructor(dbManager: MultiDbManager);
9
9
  /**
10
- * Gets an ADR by ADR number.
10
+ * Gets an ADR by ADR number with flexible number normalization.
11
+ * Supports both "1" and "001" formats.
11
12
  */
12
13
  getAdrByNumber(adrNumber: string, pluginId: string): Promise<Adr | null>;
14
+ /**
15
+ * Normalizes an ADR number to generate possible variants for flexible matching.
16
+ * Returns an array of number variants in order of preference.
17
+ */
18
+ private normalizeAdrNumber;
13
19
  /**
14
20
  * Gets all ADRs for a plugin.
15
21
  */
16
22
  getAllAdrs(pluginId: string): Promise<Adr[]>;
17
23
  /**
18
- * Gets ADRs by file path.
24
+ * Gets ADRs by file path with flexible path normalization.
25
+ * Supports various path formats (similar to ModuleApi.getModuleByPath).
19
26
  */
20
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;
21
34
  }
22
35
  //# 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":"AAAA,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;;OAEG;IACU,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAMrF;;OAEG;IACU,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAMzD;;OAEG;IACU,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;CAKrF"}
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;CA8B5B"}
@@ -10,12 +10,60 @@ class AdrApi {
10
10
  this.dbManager = dbManager;
11
11
  }
12
12
  /**
13
- * Gets an ADR by ADR number.
13
+ * Gets an ADR by ADR number with flexible number normalization.
14
+ * Supports both "1" and "001" formats.
14
15
  */
15
16
  async getAdrByNumber(adrNumber, pluginId) {
16
17
  const db = await this.dbManager.getDatabase('W');
17
18
  const repository = new adr_repository_1.AdrRepository(db);
18
- return repository.getByAdrNumber(adrNumber, pluginId);
19
+ // Try exact match first
20
+ let adr = await repository.getByAdrNumber(adrNumber, pluginId);
21
+ if (adr) {
22
+ return adr;
23
+ }
24
+ // Normalize ADR number (try with/without leading zeros)
25
+ const normalizedNumbers = this.normalizeAdrNumber(adrNumber);
26
+ // Try each normalized variant
27
+ for (const normalized of normalizedNumbers) {
28
+ adr = await repository.getByAdrNumber(normalized, pluginId);
29
+ if (adr) {
30
+ return adr;
31
+ }
32
+ }
33
+ return null;
34
+ }
35
+ /**
36
+ * Normalizes an ADR number to generate possible variants for flexible matching.
37
+ * Returns an array of number variants in order of preference.
38
+ */
39
+ normalizeAdrNumber(adrNumber) {
40
+ const variants = [];
41
+ // Remove any non-numeric prefix/suffix
42
+ const numericMatch = adrNumber.match(/(\d+)/);
43
+ if (!numericMatch) {
44
+ return [adrNumber]; // Return original if no number found
45
+ }
46
+ const numericPart = numericMatch[1];
47
+ const numValue = parseInt(numericPart, 10);
48
+ // Original
49
+ variants.push(adrNumber);
50
+ // With leading zeros (3 digits: "001", "020", "042")
51
+ const withLeadingZeros = numValue.toString().padStart(3, '0');
52
+ if (withLeadingZeros !== numericPart) {
53
+ variants.push(adrNumber.replace(numericPart, withLeadingZeros));
54
+ }
55
+ // Without leading zeros (if original had them)
56
+ if (numericPart !== numValue.toString()) {
57
+ variants.push(adrNumber.replace(numericPart, numValue.toString()));
58
+ }
59
+ // Just the number (if original had prefix/suffix)
60
+ if (adrNumber !== numericPart) {
61
+ variants.push(numericPart);
62
+ variants.push(withLeadingZeros);
63
+ variants.push(numValue.toString());
64
+ }
65
+ // Remove duplicates and return
66
+ return Array.from(new Set(variants));
19
67
  }
20
68
  /**
21
69
  * Gets all ADRs for a plugin.
@@ -26,12 +74,58 @@ class AdrApi {
26
74
  return repository.getAll(pluginId);
27
75
  }
28
76
  /**
29
- * Gets ADRs by file path.
77
+ * Gets ADRs by file path with flexible path normalization.
78
+ * Supports various path formats (similar to ModuleApi.getModuleByPath).
30
79
  */
31
80
  async getAdrsByFilePath(filePath, pluginId) {
32
81
  const db = await this.dbManager.getDatabase('W');
33
82
  const repository = new adr_repository_1.AdrRepository(db);
34
- return repository.findByFilePath(filePath, pluginId);
83
+ // Try exact match first
84
+ let adrs = await repository.findByFilePath(filePath, pluginId);
85
+ if (adrs.length > 0) {
86
+ return adrs;
87
+ }
88
+ // Generate normalized path variants
89
+ const pathVariants = this.normalizeFilePath(filePath);
90
+ // Try each variant
91
+ for (const variant of pathVariants) {
92
+ adrs = await repository.findByFilePath(variant, pluginId);
93
+ if (adrs.length > 0) {
94
+ return adrs;
95
+ }
96
+ }
97
+ return [];
98
+ }
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
+ // Remove common plugin prefixes (e.g., "5d-database-plugin/")
115
+ const pluginPrefixes = ['5d-database-plugin/', 'documentation-system-plugin/', 'mcp-server/'];
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
+ // Remove duplicates and return
128
+ return Array.from(new Set(variants));
35
129
  }
36
130
  }
37
131
  exports.AdrApi = AdrApi;
@@ -1 +1 @@
1
- {"version":3,"file":"adr-api.js","sourceRoot":"","sources":["../../src/api/adr-api.ts"],"names":[],"mappings":";;;AACA,mEAA+D;AAG/D;;GAEG;AACH,MAAa,MAAM;IAGf,YAAY,SAAyB;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED;;OAEG;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;QACzC,OAAO,UAAU,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC1D,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;;OAEG;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;QACzC,OAAO,UAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;CACJ;AAjCD,wBAiCC"}
1
+ {"version":3,"file":"adr-api.js","sourceRoot":"","sources":["../../src/api/adr-api.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ export { BootstrapApi } from './bootstrap-api';
15
15
  export { SelfExplanationApi } from './self-explanation-api';
16
16
  export { LearningPathApi } from './learning-path-api';
17
17
  export { VectorApi } from './vector-api';
18
+ export { IngestionApi } from './ingestion-api';
18
19
  export { ContextBuilder } from './context-builder';
19
20
  export { MultiDbManager, Dimension } from '../core/multi-db-manager';
20
21
  export { IdMapper } from '../core/id-mapper';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC"}
package/out/api/index.js CHANGED
@@ -5,7 +5,7 @@
5
5
  * This file exports all APIs that can be used from npm package installations.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.DocsPathResolver = exports.IdMapper = exports.MultiDbManager = exports.ContextBuilder = exports.VectorApi = exports.LearningPathApi = exports.SelfExplanationApi = exports.BootstrapApi = exports.SearchApi = exports.SemanticSearchApi = exports.CrossDimensionApi = exports.ChangeApi = exports.AdrApi = exports.DependencyApi = exports.SymbolApi = exports.ModuleApi = void 0;
8
+ exports.DocsPathResolver = exports.IdMapper = exports.MultiDbManager = exports.ContextBuilder = exports.IngestionApi = exports.VectorApi = exports.LearningPathApi = exports.SelfExplanationApi = exports.BootstrapApi = exports.SearchApi = exports.SemanticSearchApi = exports.CrossDimensionApi = exports.ChangeApi = exports.AdrApi = exports.DependencyApi = exports.SymbolApi = exports.ModuleApi = void 0;
9
9
  var module_api_1 = require("./module-api");
10
10
  Object.defineProperty(exports, "ModuleApi", { enumerable: true, get: function () { return module_api_1.ModuleApi; } });
11
11
  var symbol_api_1 = require("./symbol-api");
@@ -30,6 +30,8 @@ var learning_path_api_1 = require("./learning-path-api");
30
30
  Object.defineProperty(exports, "LearningPathApi", { enumerable: true, get: function () { return learning_path_api_1.LearningPathApi; } });
31
31
  var vector_api_1 = require("./vector-api");
32
32
  Object.defineProperty(exports, "VectorApi", { enumerable: true, get: function () { return vector_api_1.VectorApi; } });
33
+ var ingestion_api_1 = require("./ingestion-api");
34
+ Object.defineProperty(exports, "IngestionApi", { enumerable: true, get: function () { return ingestion_api_1.IngestionApi; } });
33
35
  var context_builder_1 = require("./context-builder");
34
36
  Object.defineProperty(exports, "ContextBuilder", { enumerable: true, get: function () { return context_builder_1.ContextBuilder; } });
35
37
  // Core classes needed for API initialization
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,qCAAmC;AAA1B,iGAAA,MAAM,OAAA;AACf,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA;AAC1B,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA;AAC1B,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA;AAC3B,yDAAsD;AAA7C,oHAAA,eAAe,OAAA;AACxB,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AAEvB,6CAA6C;AAC7C,6DAAqE;AAA5D,kHAAA,cAAc,OAAA;AACvB,+CAA6C;AAApC,qGAAA,QAAQ,OAAA;AACjB,iEAA8D;AAArD,sHAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,qCAAmC;AAA1B,iGAAA,MAAM,OAAA;AACf,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA;AAC1B,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA;AAC1B,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA;AAC3B,yDAAsD;AAA7C,oHAAA,eAAe,OAAA;AACxB,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AAEvB,6CAA6C;AAC7C,6DAAqE;AAA5D,kHAAA,cAAc,OAAA;AACvB,+CAA6C;AAApC,qGAAA,QAAQ,OAAA;AACjB,iEAA8D;AAArD,sHAAA,gBAAgB,OAAA"}
@@ -0,0 +1,42 @@
1
+ import { MultiDbManager } from '../core/multi-db-manager';
2
+ /**
3
+ * API for ingestion operations.
4
+ * Provides programmatic access to ingestion functionality.
5
+ */
6
+ export declare class IngestionApi {
7
+ private dbManager;
8
+ private migrationManager;
9
+ private ingestionOrchestrator;
10
+ private workspaceRoot;
11
+ private pluginRoot;
12
+ constructor(dbManager: MultiDbManager, pluginRoot: string);
13
+ /**
14
+ * Validates that the workspace root and docs directory contain all required files.
15
+ * Throws an error if validation fails.
16
+ *
17
+ * @param workspaceRoot The workspace root directory
18
+ * @param docsPath The path to the docs directory
19
+ */
20
+ private validateWorkspaceRoot;
21
+ /**
22
+ * Performs a full ingestion of all dimensions.
23
+ *
24
+ * @param pluginId The plugin ID
25
+ * @param full Whether to perform full ingestion (default: true)
26
+ * @returns Promise that resolves when ingestion is complete
27
+ */
28
+ ingest(pluginId: string, full?: boolean): Promise<{
29
+ success: boolean;
30
+ message: string;
31
+ }>;
32
+ /**
33
+ * Checks if ingestion is needed.
34
+ *
35
+ * @returns Promise that resolves to ingestion status
36
+ */
37
+ checkIngestionStatus(): Promise<{
38
+ needed: boolean;
39
+ message: string;
40
+ }>;
41
+ }
42
+ //# sourceMappingURL=ingestion-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ingestion-api.d.ts","sourceRoot":"","sources":["../../src/api/ingestion-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAO1D;;;GAGG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,UAAU,CAAS;gBAEf,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM;IAWzD;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAkC7B;;;;;;OAMG;IACU,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,OAAc,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAkC3G;;;;OAIG;IACU,oBAAoB,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAcrF"}
@@ -0,0 +1,148 @@
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.IngestionApi = void 0;
37
+ const migration_manager_1 = require("../core/migration-manager");
38
+ const ingestion_orchestrator_1 = require("../services/ingestion-orchestrator");
39
+ const docs_path_resolver_1 = require("../core/docs-path-resolver");
40
+ const path = __importStar(require("path"));
41
+ const fs = __importStar(require("fs"));
42
+ /**
43
+ * API for ingestion operations.
44
+ * Provides programmatic access to ingestion functionality.
45
+ */
46
+ class IngestionApi {
47
+ constructor(dbManager, pluginRoot) {
48
+ this.dbManager = dbManager;
49
+ this.workspaceRoot = dbManager.getWorkspaceRoot();
50
+ this.pluginRoot = pluginRoot;
51
+ this.migrationManager = new migration_manager_1.MigrationManager(dbManager, pluginRoot);
52
+ // Find docs directory
53
+ const docsPath = docs_path_resolver_1.DocsPathResolver.findDocsDirectoryFromPath(this.workspaceRoot);
54
+ this.ingestionOrchestrator = new ingestion_orchestrator_1.IngestionOrchestrator(dbManager, this.migrationManager, docsPath || undefined);
55
+ }
56
+ /**
57
+ * Validates that the workspace root and docs directory contain all required files.
58
+ * Throws an error if validation fails.
59
+ *
60
+ * @param workspaceRoot The workspace root directory
61
+ * @param docsPath The path to the docs directory
62
+ */
63
+ validateWorkspaceRoot(workspaceRoot, docsPath) {
64
+ const requiredPaths = [
65
+ { path: path.join(docsPath, 'modules'), name: 'docs/modules/', isDirectory: true },
66
+ { path: path.join(docsPath, 'index', 'symbols.jsonl'), name: 'docs/index/symbols.jsonl', isDirectory: false },
67
+ { path: path.join(docsPath, 'system', 'DEPENDENCY_GRAPH.md'), name: 'docs/system/DEPENDENCY_GRAPH.md', isDirectory: false },
68
+ { path: path.join(docsPath, 'adr'), name: 'docs/adr/', isDirectory: true },
69
+ { path: path.join(docsPath, 'system', 'CHANGE_REPORT.md'), name: 'docs/system/CHANGE_REPORT.md', isDirectory: false }
70
+ ];
71
+ const missingPaths = [];
72
+ for (const required of requiredPaths) {
73
+ if (!fs.existsSync(required.path)) {
74
+ missingPaths.push(required.name);
75
+ }
76
+ else {
77
+ // Verify it's the correct type (directory vs file)
78
+ const stats = fs.statSync(required.path);
79
+ if (required.isDirectory && !stats.isDirectory()) {
80
+ missingPaths.push(`${required.name} (expected directory, found file)`);
81
+ }
82
+ else if (!required.isDirectory && !stats.isFile()) {
83
+ missingPaths.push(`${required.name} (expected file, found directory)`);
84
+ }
85
+ }
86
+ }
87
+ if (missingPaths.length > 0) {
88
+ throw new Error(`Required documentation files/directories are missing:\n${missingPaths.map(p => ` - ${p}`).join('\n')}\n\n` +
89
+ `Please run Documentation System Plugin (Noyrax) first to generate complete documentation.\n` +
90
+ `Workspace root: ${workspaceRoot}\n` +
91
+ `Docs directory: ${docsPath}`);
92
+ }
93
+ }
94
+ /**
95
+ * Performs a full ingestion of all dimensions.
96
+ *
97
+ * @param pluginId The plugin ID
98
+ * @param full Whether to perform full ingestion (default: true)
99
+ * @returns Promise that resolves when ingestion is complete
100
+ */
101
+ async ingest(pluginId, full = true) {
102
+ // Find docs directory
103
+ const docsPath = docs_path_resolver_1.DocsPathResolver.findDocsDirectoryFromPath(this.workspaceRoot);
104
+ if (!docsPath) {
105
+ throw new Error(`docs/ directory not found in workspace or parent directories.\n` +
106
+ `Please run Documentation System Plugin (Noyrax) first to generate docs/ directory.\n` +
107
+ `Workspace root: ${this.workspaceRoot}`);
108
+ }
109
+ // Validate workspace root (uses the same validation as ingest-cli)
110
+ this.validateWorkspaceRoot(this.workspaceRoot, docsPath);
111
+ try {
112
+ // Run migrations
113
+ await this.migrationManager.migrateAll();
114
+ // Perform ingestion
115
+ if (full) {
116
+ await this.ingestionOrchestrator.ingestFull(this.workspaceRoot, pluginId, docsPath);
117
+ }
118
+ else {
119
+ await this.ingestionOrchestrator.ingestIncremental(this.workspaceRoot, pluginId, docsPath);
120
+ }
121
+ return {
122
+ success: true,
123
+ message: `Ingestion completed successfully (mode: ${full ? 'full' : 'incremental'})`
124
+ };
125
+ }
126
+ catch (error) {
127
+ throw new Error(`Ingestion failed: ${error.message || String(error)}`);
128
+ }
129
+ }
130
+ /**
131
+ * Checks if ingestion is needed.
132
+ *
133
+ * @returns Promise that resolves to ingestion status
134
+ */
135
+ async checkIngestionStatus() {
136
+ const docsPath = docs_path_resolver_1.DocsPathResolver.findDocsDirectoryFromPath(this.workspaceRoot);
137
+ const dbPath = path.join(this.workspaceRoot, '.database-plugin', 'modules.db');
138
+ if (!docsPath) {
139
+ return { needed: false, message: 'docs/ directory not found' };
140
+ }
141
+ if (!fs.existsSync(dbPath)) {
142
+ return { needed: true, message: 'Databases not found, ingestion needed' };
143
+ }
144
+ return { needed: false, message: 'Databases exist, ingestion may not be needed' };
145
+ }
146
+ }
147
+ exports.IngestionApi = IngestionApi;
148
+ //# sourceMappingURL=ingestion-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ingestion-api.js","sourceRoot":"","sources":["../../src/api/ingestion-api.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,19 @@ export declare class ModuleApi {
11
11
  */
12
12
  getModuleById(id: string, pluginId: string): Promise<Module | null>;
13
13
  /**
14
- * Gets a module by file path.
14
+ * Gets a module by file path with flexible path normalization.
15
+ * Supports various path formats:
16
+ * - Absolute paths (with workspace root)
17
+ * - Relative paths
18
+ * - Paths with different separators (/, \)
19
+ * - Paths with plugin prefixes
15
20
  */
16
21
  getModuleByPath(filePath: string, pluginId: string): Promise<Module | null>;
22
+ /**
23
+ * Normalizes a file path to generate possible variants for flexible matching.
24
+ * Returns an array of path variants in order of preference.
25
+ */
26
+ private normalizeFilePath;
17
27
  /**
18
28
  * Gets all modules for a plugin.
19
29
  */
@@ -1 +1 @@
1
- {"version":3,"file":"module-api.d.ts","sourceRoot":"","sources":["../../src/api/module-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C;;GAEG;AACH,qBAAa,SAAS;IAClB,OAAO,CAAC,SAAS,CAAiB;gBAEtB,SAAS,EAAE,cAAc;IAIrC;;OAEG;IACU,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAMhF;;OAEG;IACU,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAMxF;;OAEG;IACU,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAM/D;;OAEG;IACU,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAKjG"}
1
+ {"version":3,"file":"module-api.d.ts","sourceRoot":"","sources":["../../src/api/module-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C;;GAEG;AACH,qBAAa,SAAS;IAClB,OAAO,CAAC,SAAS,CAAiB;gBAEtB,SAAS,EAAE,cAAc;IAIrC;;OAEG;IACU,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAMhF;;;;;;;OAOG;IACU,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA4BxF;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA+BzB;;OAEG;IACU,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAM/D;;OAEG;IACU,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAKjG"}
@@ -18,12 +18,64 @@ class ModuleApi {
18
18
  return repository.getById(id, pluginId);
19
19
  }
20
20
  /**
21
- * Gets a module by file path.
21
+ * Gets a module by file path with flexible path normalization.
22
+ * Supports various path formats:
23
+ * - Absolute paths (with workspace root)
24
+ * - Relative paths
25
+ * - Paths with different separators (/, \)
26
+ * - Paths with plugin prefixes
22
27
  */
23
28
  async getModuleByPath(filePath, pluginId) {
24
29
  const db = await this.dbManager.getDatabase('X');
25
30
  const repository = new module_repository_1.ModuleRepository(db);
26
- return repository.getByFilePath(filePath, pluginId);
31
+ // Try exact match first
32
+ let module = await repository.getByFilePath(filePath, pluginId);
33
+ if (module) {
34
+ return module;
35
+ }
36
+ // Generate normalized path variants
37
+ const pathVariants = this.normalizeFilePath(filePath);
38
+ // Try each variant
39
+ for (const variant of pathVariants) {
40
+ module = await repository.getByFilePath(variant, pluginId);
41
+ if (module) {
42
+ return module;
43
+ }
44
+ }
45
+ // Fallback: Try LIKE search with normalized path
46
+ const normalized = this.normalizeFilePath(filePath)[0]; // First variant (most normalized)
47
+ module = await repository.findByFilePathLike(normalized, pluginId);
48
+ return module;
49
+ }
50
+ /**
51
+ * Normalizes a file path to generate possible variants for flexible matching.
52
+ * Returns an array of path variants in order of preference.
53
+ */
54
+ normalizeFilePath(filePath) {
55
+ const variants = [];
56
+ // Normalize separators to forward slashes
57
+ let normalized = filePath.replace(/\\/g, '/');
58
+ variants.push(normalized);
59
+ // Remove leading slashes
60
+ const withoutLeadingSlash = normalized.replace(/^\/+/, '');
61
+ if (withoutLeadingSlash !== normalized) {
62
+ variants.push(withoutLeadingSlash);
63
+ }
64
+ // Remove common plugin prefixes (e.g., "5d-database-plugin/")
65
+ const pluginPrefixes = ['5d-database-plugin/', 'documentation-system-plugin/', 'mcp-server/'];
66
+ for (const prefix of pluginPrefixes) {
67
+ if (normalized.startsWith(prefix)) {
68
+ const withoutPrefix = normalized.substring(prefix.length);
69
+ variants.push(withoutPrefix);
70
+ }
71
+ // Also try without leading slash
72
+ if (withoutLeadingSlash.startsWith(prefix)) {
73
+ const withoutPrefix = withoutLeadingSlash.substring(prefix.length);
74
+ variants.push(withoutPrefix);
75
+ }
76
+ }
77
+ // Remove duplicates and return
78
+ return Array.from(new Set(variants));
27
79
  }
28
80
  /**
29
81
  * Gets all modules for a plugin.
@@ -1 +1 @@
1
- {"version":3,"file":"module-api.js","sourceRoot":"","sources":["../../src/api/module-api.ts"],"names":[],"mappings":";;;AACA,yEAAqE;AAGrE;;GAEG;AACH,MAAa,SAAS;IAGlB,YAAY,SAAyB;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,QAAgB;QACnD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,oCAAgB,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE,QAAgB;QAC3D,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,oCAAgB,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,UAAU,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa,CAAC,QAAgB;QACvC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,oCAAgB,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,uBAAuB,CAAC,WAAmB,EAAE,QAAgB;QACtE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,oCAAgB,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,UAAU,CAAC,iBAAiB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;CACJ;AA1CD,8BA0CC"}
1
+ {"version":3,"file":"module-api.js","sourceRoot":"","sources":["../../src/api/module-api.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,47 @@ const multi_db_manager_1 = require("../core/multi-db-manager");
41
41
  const migration_manager_1 = require("../core/migration-manager");
42
42
  const ingestion_orchestrator_1 = require("../services/ingestion-orchestrator");
43
43
  const docs_path_resolver_1 = require("../core/docs-path-resolver");
44
+ /**
45
+ * Validates that the workspace root and docs directory contain all required files.
46
+ * Throws an error and exits if validation fails.
47
+ *
48
+ * @param workspaceRoot The workspace root directory
49
+ * @param docsPath The path to the docs directory
50
+ */
51
+ function validateWorkspaceRoot(workspaceRoot, docsPath) {
52
+ const requiredPaths = [
53
+ { path: path.join(docsPath, 'modules'), name: 'docs/modules/', isDirectory: true },
54
+ { path: path.join(docsPath, 'index', 'symbols.jsonl'), name: 'docs/index/symbols.jsonl', isDirectory: false },
55
+ { path: path.join(docsPath, 'system', 'DEPENDENCY_GRAPH.md'), name: 'docs/system/DEPENDENCY_GRAPH.md', isDirectory: false },
56
+ { path: path.join(docsPath, 'adr'), name: 'docs/adr/', isDirectory: true },
57
+ { path: path.join(docsPath, 'system', 'CHANGE_REPORT.md'), name: 'docs/system/CHANGE_REPORT.md', isDirectory: false }
58
+ ];
59
+ const missingPaths = [];
60
+ for (const required of requiredPaths) {
61
+ if (!fs.existsSync(required.path)) {
62
+ missingPaths.push(required.name);
63
+ }
64
+ else {
65
+ // Verify it's the correct type (directory vs file)
66
+ const stats = fs.statSync(required.path);
67
+ if (required.isDirectory && !stats.isDirectory()) {
68
+ missingPaths.push(`${required.name} (expected directory, found file)`);
69
+ }
70
+ else if (!required.isDirectory && !stats.isFile()) {
71
+ missingPaths.push(`${required.name} (expected file, found directory)`);
72
+ }
73
+ }
74
+ }
75
+ if (missingPaths.length > 0) {
76
+ console.error('ERROR: Required documentation files/directories are missing:');
77
+ missingPaths.forEach(p => console.error(` - ${p}`));
78
+ console.error('');
79
+ console.error('Please run Documentation System Plugin (Noyrax) first to generate complete documentation.');
80
+ console.error(`Workspace root: ${workspaceRoot}`);
81
+ console.error(`Docs directory: ${docsPath}`);
82
+ process.exit(1);
83
+ }
84
+ }
44
85
  /**
45
86
  * Loads .env file from workspace root or parent directories.
46
87
  */
@@ -115,25 +156,8 @@ async function main() {
115
156
  process.exit(1);
116
157
  }
117
158
  console.log(`Found docs directory: ${docsPath}`);
118
- // Validate that required documentation files exist
119
- const requiredPaths = [
120
- { path: path.join(docsPath, 'modules'), name: 'modules/' },
121
- { path: path.join(docsPath, 'index', 'symbols.jsonl'), name: 'index/symbols.jsonl' },
122
- { path: path.join(docsPath, 'system', 'DEPENDENCY_GRAPH.md'), name: 'system/DEPENDENCY_GRAPH.md' },
123
- { path: path.join(docsPath, 'adr'), name: 'adr/' },
124
- { path: path.join(docsPath, 'system', 'CHANGE_REPORT.md'), name: 'system/CHANGE_REPORT.md' }
125
- ];
126
- const missingPaths = [];
127
- for (const required of requiredPaths) {
128
- if (!fs.existsSync(required.path)) {
129
- missingPaths.push(required.name);
130
- }
131
- }
132
- if (missingPaths.length > 0) {
133
- console.warn('WARNING: Some required documentation files are missing:');
134
- missingPaths.forEach(p => console.warn(` - ${p}`));
135
- console.warn('Please ensure Documentation System Plugin has generated complete documentation.');
136
- }
159
+ // Validate that required documentation files exist (hard validation - exits on failure)
160
+ validateWorkspaceRoot(workspaceRoot, docsPath);
137
161
  const ingestionOrchestrator = new ingestion_orchestrator_1.IngestionOrchestrator(dbManager, migrationManager, docsPath);
138
162
  try {
139
163
  await migrationManager.migrateAll();
@@ -1 +1 @@
1
- {"version":3,"file":"ingest-cli.js","sourceRoot":"","sources":["../../src/cli/ingest-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ingest-cli.js","sourceRoot":"","sources":["../../src/cli/ingest-cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,2CAA6B;AAC7B,uCAAyB;AACzB,mCAAgC;AAChC,+DAA0D;AAC1D,iEAA6D;AAC7D,+EAA2E;AAC3E,mEAA8D;AAE9D;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,aAAqB,EAAE,QAAgB;IAClE,MAAM,aAAa,GAAG;QAClB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,EAAE;QAClF,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,WAAW,EAAE,KAAK,EAAE;QAC7G,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,CAAC,EAAE,IAAI,EAAE,iCAAiC,EAAE,WAAW,EAAE,KAAK,EAAE;QAC3H,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE;QAC1E,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,WAAW,EAAE,KAAK,EAAE;KACxH,CAAC;IAEF,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,mDAAmD;YACnD,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,QAAQ,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC/C,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,mCAAmC,CAAC,CAAC;YAC3E,CAAC;iBAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBAClD,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,mCAAmC,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC9E,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,2FAA2F,CAAC,CAAC;QAC3G,OAAO,CAAC,KAAK,CAAC,mBAAmB,aAAa,EAAE,CAAC,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,aAAqB;IACtC,gEAAgE;IAChE,IAAI,WAAW,GAAG,aAAa,CAAC;IAChC,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,yBAAyB;IAE7C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,IAAA,eAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,uCAAuC,OAAO,EAAE,CAAC,CAAC;YAC9D,OAAO;QACX,CAAC;QAED,uBAAuB;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YAC7B,MAAM,CAAC,0BAA0B;QACrC,CAAC;QACD,WAAW,GAAG,UAAU,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;AACvF,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,IAAI;IACf,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,6CAA6C;IAC7C,IAAI,aAAqB,CAAC;IAC1B,IAAI,MAAe,CAAC;IAEpB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,8CAA8C;QAC9C,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,GAAG,KAAK,CAAC;IACnB,CAAC;SAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC9B,qDAAqD;QACrD,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,GAAG,IAAI,CAAC;IAClB,CAAC;SAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,+CAA+C;QAC/C,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,GAAG,IAAI,CAAC;IAClB,CAAC;SAAM,CAAC;QACJ,0CAA0C;QAC1C,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,GAAG,KAAK,CAAC;IACnB,CAAC;IAED,2DAA2D;IAC3D,WAAW,CAAC,aAAa,CAAC,CAAC;IAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;IACzG,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,iCAAiC,aAAa,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;IAExD,MAAM,SAAS,GAAG,IAAI,iCAAc,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvD,MAAM,gBAAgB,GAAG,IAAI,oCAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAErE,kEAAkE;IAClE,MAAM,QAAQ,GAAG,qCAAgB,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;IAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;QACtF,OAAO,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAC;QACpG,OAAO,CAAC,KAAK,CAAC,mBAAmB,aAAa,EAAE,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;IAEjD,wFAAwF;IACxF,qBAAqB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAE/C,MAAM,qBAAqB,GAAG,IAAI,8CAAqB,CAAC,SAAS,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAE/F,IAAI,CAAC;QACD,MAAM,gBAAgB,CAAC,UAAU,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAE7C,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAEzC,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,qBAAqB,CAAC,UAAU,CAAC,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACJ,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACrF,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC1B,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACjB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC"}