@noyrax/5d-database-plugin 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ADR_VORSCHLAEGE.md +247 -0
- package/CHROMADB_SETUP.md +69 -0
- package/IMPROVEMENT_ROADMAP.md +435 -0
- package/INSTALLATION_READINESS.md +150 -0
- package/KNOWN_ISSUES.md +210 -0
- package/LICENSE +21 -0
- package/MCP_SERVER_SETUP.md +359 -0
- package/MCP_SERVER_TEST_REPORT.md +206 -0
- package/NOYRAX_INTEGRATION.md +224 -0
- package/QUICK_START.md +316 -0
- package/README.md +240 -0
- package/SETUP_NEW_PROJECT.md +260 -0
- package/SYSTEM_ANALYSIS_REPORT.md +341 -0
- package/out/api/adr-api.d.ts +22 -0
- package/out/api/adr-api.d.ts.map +1 -0
- package/out/api/adr-api.js +38 -0
- package/out/api/adr-api.js.map +1 -0
- package/out/api/bootstrap-api.d.ts +43 -0
- package/out/api/bootstrap-api.d.ts.map +1 -0
- package/out/api/bootstrap-api.js +88 -0
- package/out/api/bootstrap-api.js.map +1 -0
- package/out/api/change-api.d.ts +30 -0
- package/out/api/change-api.d.ts.map +1 -0
- package/out/api/change-api.js +54 -0
- package/out/api/change-api.js.map +1 -0
- package/out/api/context-builder.d.ts +81 -0
- package/out/api/context-builder.d.ts.map +1 -0
- package/out/api/context-builder.js +288 -0
- package/out/api/context-builder.js.map +1 -0
- package/out/api/cross-dimension-api.d.ts +43 -0
- package/out/api/cross-dimension-api.d.ts.map +1 -0
- package/out/api/cross-dimension-api.js +55 -0
- package/out/api/cross-dimension-api.js.map +1 -0
- package/out/api/dependency-api.d.ts +26 -0
- package/out/api/dependency-api.d.ts.map +1 -0
- package/out/api/dependency-api.js +46 -0
- package/out/api/dependency-api.js.map +1 -0
- package/out/api/learning-path-api.d.ts +49 -0
- package/out/api/learning-path-api.d.ts.map +1 -0
- package/out/api/learning-path-api.js +174 -0
- package/out/api/learning-path-api.js.map +1 -0
- package/out/api/module-api.d.ts +26 -0
- package/out/api/module-api.d.ts.map +1 -0
- package/out/api/module-api.js +46 -0
- package/out/api/module-api.js.map +1 -0
- package/out/api/search-api.d.ts +64 -0
- package/out/api/search-api.d.ts.map +1 -0
- package/out/api/search-api.js +235 -0
- package/out/api/search-api.js.map +1 -0
- package/out/api/self-explanation-api.d.ts +71 -0
- package/out/api/self-explanation-api.d.ts.map +1 -0
- package/out/api/self-explanation-api.js +153 -0
- package/out/api/self-explanation-api.js.map +1 -0
- package/out/api/semantic-search-api.d.ts +64 -0
- package/out/api/semantic-search-api.d.ts.map +1 -0
- package/out/api/semantic-search-api.js +205 -0
- package/out/api/semantic-search-api.js.map +1 -0
- package/out/api/symbol-api.d.ts +22 -0
- package/out/api/symbol-api.d.ts.map +1 -0
- package/out/api/symbol-api.js +38 -0
- package/out/api/symbol-api.js.map +1 -0
- package/out/api/vector-api.d.ts +26 -0
- package/out/api/vector-api.d.ts.map +1 -0
- package/out/api/vector-api.js +49 -0
- package/out/api/vector-api.js.map +1 -0
- package/out/cli/embedding-cli.d.ts +3 -0
- package/out/cli/embedding-cli.d.ts.map +1 -0
- package/out/cli/embedding-cli.js +151 -0
- package/out/cli/embedding-cli.js.map +1 -0
- package/out/cli/ingest-cli.d.ts +3 -0
- package/out/cli/ingest-cli.d.ts.map +1 -0
- package/out/cli/ingest-cli.js +145 -0
- package/out/cli/ingest-cli.js.map +1 -0
- package/out/cli/mcp-server-cli.d.ts +3 -0
- package/out/cli/mcp-server-cli.d.ts.map +1 -0
- package/out/cli/mcp-server-cli.js +159 -0
- package/out/cli/mcp-server-cli.js.map +1 -0
- package/out/cli/query-cli.d.ts +3 -0
- package/out/cli/query-cli.d.ts.map +1 -0
- package/out/cli/query-cli.js +217 -0
- package/out/cli/query-cli.js.map +1 -0
- package/out/cli/semantic-search-cli.d.ts +3 -0
- package/out/cli/semantic-search-cli.d.ts.map +1 -0
- package/out/cli/semantic-search-cli.js +196 -0
- package/out/cli/semantic-search-cli.js.map +1 -0
- package/out/cli/test-chromadb.d.ts +3 -0
- package/out/cli/test-chromadb.d.ts.map +1 -0
- package/out/cli/test-chromadb.js +204 -0
- package/out/cli/test-chromadb.js.map +1 -0
- package/out/cli/test-v-dimension.d.ts +3 -0
- package/out/cli/test-v-dimension.d.ts.map +1 -0
- package/out/cli/test-v-dimension.js +330 -0
- package/out/cli/test-v-dimension.js.map +1 -0
- package/out/cli/tool-cli.d.ts +3 -0
- package/out/cli/tool-cli.d.ts.map +1 -0
- package/out/cli/tool-cli.js +237 -0
- package/out/cli/tool-cli.js.map +1 -0
- package/out/cli/verify-openai-key.d.ts +3 -0
- package/out/cli/verify-openai-key.d.ts.map +1 -0
- package/out/cli/verify-openai-key.js +141 -0
- package/out/cli/verify-openai-key.js.map +1 -0
- package/out/cli/verify-vss-status.d.ts +3 -0
- package/out/cli/verify-vss-status.d.ts.map +1 -0
- package/out/cli/verify-vss-status.js +185 -0
- package/out/cli/verify-vss-status.js.map +1 -0
- package/out/core/chromadb-vector-database.d.ts +52 -0
- package/out/core/chromadb-vector-database.d.ts.map +1 -0
- package/out/core/chromadb-vector-database.js +276 -0
- package/out/core/chromadb-vector-database.js.map +1 -0
- package/out/core/docs-path-resolver.d.ts +43 -0
- package/out/core/docs-path-resolver.d.ts.map +1 -0
- package/out/core/docs-path-resolver.js +137 -0
- package/out/core/docs-path-resolver.js.map +1 -0
- package/out/core/id-mapper.d.ts +68 -0
- package/out/core/id-mapper.d.ts.map +1 -0
- package/out/core/id-mapper.js +132 -0
- package/out/core/id-mapper.js.map +1 -0
- package/out/core/migration-manager.d.ts +75 -0
- package/out/core/migration-manager.d.ts.map +1 -0
- package/out/core/migration-manager.js +212 -0
- package/out/core/migration-manager.js.map +1 -0
- package/out/core/multi-db-manager.d.ts +84 -0
- package/out/core/multi-db-manager.d.ts.map +1 -0
- package/out/core/multi-db-manager.js +206 -0
- package/out/core/multi-db-manager.js.map +1 -0
- package/out/core/transaction-manager.d.ts +69 -0
- package/out/core/transaction-manager.d.ts.map +1 -0
- package/out/core/transaction-manager.js +138 -0
- package/out/core/transaction-manager.js.map +1 -0
- package/out/core/vector-database-factory.d.ts +25 -0
- package/out/core/vector-database-factory.d.ts.map +1 -0
- package/out/core/vector-database-factory.js +82 -0
- package/out/core/vector-database-factory.js.map +1 -0
- package/out/core/vector-database-interface.d.ts +50 -0
- package/out/core/vector-database-interface.d.ts.map +1 -0
- package/out/core/vector-database-interface.js +3 -0
- package/out/core/vector-database-interface.js.map +1 -0
- package/out/core/vss-loader.d.ts +29 -0
- package/out/core/vss-loader.d.ts.map +1 -0
- package/out/core/vss-loader.js +150 -0
- package/out/core/vss-loader.js.map +1 -0
- package/out/core/vss-manager.d.ts +81 -0
- package/out/core/vss-manager.d.ts.map +1 -0
- package/out/core/vss-manager.js +323 -0
- package/out/core/vss-manager.js.map +1 -0
- package/out/core/vss-vector-database.d.ts +71 -0
- package/out/core/vss-vector-database.d.ts.map +1 -0
- package/out/core/vss-vector-database.js +284 -0
- package/out/core/vss-vector-database.js.map +1 -0
- package/out/embedding/embedding-generator.d.ts +45 -0
- package/out/embedding/embedding-generator.d.ts.map +1 -0
- package/out/embedding/embedding-generator.js +143 -0
- package/out/embedding/embedding-generator.js.map +1 -0
- package/out/embedding/embedding-pipeline.d.ts +42 -0
- package/out/embedding/embedding-pipeline.d.ts.map +1 -0
- package/out/embedding/embedding-pipeline.js +290 -0
- package/out/embedding/embedding-pipeline.js.map +1 -0
- package/out/extension.d.ts +10 -0
- package/out/extension.d.ts.map +1 -0
- package/out/extension.js +164 -0
- package/out/extension.js.map +1 -0
- package/out/ingestors/adr-ingestor.d.ts +41 -0
- package/out/ingestors/adr-ingestor.d.ts.map +1 -0
- package/out/ingestors/adr-ingestor.js +329 -0
- package/out/ingestors/adr-ingestor.js.map +1 -0
- package/out/ingestors/base-ingestor.d.ts +30 -0
- package/out/ingestors/base-ingestor.d.ts.map +1 -0
- package/out/ingestors/base-ingestor.js +3 -0
- package/out/ingestors/base-ingestor.js.map +1 -0
- package/out/ingestors/change-ingestor.d.ts +36 -0
- package/out/ingestors/change-ingestor.d.ts.map +1 -0
- package/out/ingestors/change-ingestor.js +216 -0
- package/out/ingestors/change-ingestor.js.map +1 -0
- package/out/ingestors/dependency-ingestor.d.ts +32 -0
- package/out/ingestors/dependency-ingestor.d.ts.map +1 -0
- package/out/ingestors/dependency-ingestor.js +194 -0
- package/out/ingestors/dependency-ingestor.js.map +1 -0
- package/out/ingestors/module-ingestor.d.ts +27 -0
- package/out/ingestors/module-ingestor.d.ts.map +1 -0
- package/out/ingestors/module-ingestor.js +137 -0
- package/out/ingestors/module-ingestor.js.map +1 -0
- package/out/ingestors/symbol-ingestor.d.ts +26 -0
- package/out/ingestors/symbol-ingestor.d.ts.map +1 -0
- package/out/ingestors/symbol-ingestor.js +183 -0
- package/out/ingestors/symbol-ingestor.js.map +1 -0
- package/out/mcp/resources/adrs.d.ts +13 -0
- package/out/mcp/resources/adrs.d.ts.map +1 -0
- package/out/mcp/resources/adrs.js +26 -0
- package/out/mcp/resources/adrs.js.map +1 -0
- package/out/mcp/resources/changes.d.ts +13 -0
- package/out/mcp/resources/changes.d.ts.map +1 -0
- package/out/mcp/resources/changes.js +26 -0
- package/out/mcp/resources/changes.js.map +1 -0
- package/out/mcp/resources/dependencies.d.ts +13 -0
- package/out/mcp/resources/dependencies.d.ts.map +1 -0
- package/out/mcp/resources/dependencies.js +26 -0
- package/out/mcp/resources/dependencies.js.map +1 -0
- package/out/mcp/resources/modules.d.ts +13 -0
- package/out/mcp/resources/modules.d.ts.map +1 -0
- package/out/mcp/resources/modules.js +26 -0
- package/out/mcp/resources/modules.js.map +1 -0
- package/out/mcp/resources/symbols.d.ts +13 -0
- package/out/mcp/resources/symbols.d.ts.map +1 -0
- package/out/mcp/resources/symbols.js +26 -0
- package/out/mcp/resources/symbols.js.map +1 -0
- package/out/mcp/server.d.ts +29 -0
- package/out/mcp/server.d.ts.map +1 -0
- package/out/mcp/server.js +300 -0
- package/out/mcp/server.js.map +1 -0
- package/out/mcp/tools/architecture-mining.d.ts +46 -0
- package/out/mcp/tools/architecture-mining.d.ts.map +1 -0
- package/out/mcp/tools/architecture-mining.js +272 -0
- package/out/mcp/tools/architecture-mining.js.map +1 -0
- package/out/mcp/tools/bootstrap.d.ts +9 -0
- package/out/mcp/tools/bootstrap.d.ts.map +1 -0
- package/out/mcp/tools/bootstrap.js +14 -0
- package/out/mcp/tools/bootstrap.js.map +1 -0
- package/out/mcp/tools/cross-analysis.d.ts +18 -0
- package/out/mcp/tools/cross-analysis.d.ts.map +1 -0
- package/out/mcp/tools/cross-analysis.js +23 -0
- package/out/mcp/tools/cross-analysis.js.map +1 -0
- package/out/mcp/tools/gap-analysis.d.ts +34 -0
- package/out/mcp/tools/gap-analysis.d.ts.map +1 -0
- package/out/mcp/tools/gap-analysis.js +106 -0
- package/out/mcp/tools/gap-analysis.js.map +1 -0
- package/out/mcp/tools/learning-path.d.ts +10 -0
- package/out/mcp/tools/learning-path.d.ts.map +1 -0
- package/out/mcp/tools/learning-path.js +18 -0
- package/out/mcp/tools/learning-path.js.map +1 -0
- package/out/mcp/tools/query-dependencies.d.ts +18 -0
- package/out/mcp/tools/query-dependencies.d.ts.map +1 -0
- package/out/mcp/tools/query-dependencies.js +31 -0
- package/out/mcp/tools/query-dependencies.js.map +1 -0
- package/out/mcp/tools/query-modules.d.ts +17 -0
- package/out/mcp/tools/query-modules.d.ts.map +1 -0
- package/out/mcp/tools/query-modules.js +22 -0
- package/out/mcp/tools/query-modules.js.map +1 -0
- package/out/mcp/tools/query-symbols.d.ts +18 -0
- package/out/mcp/tools/query-symbols.d.ts.map +1 -0
- package/out/mcp/tools/query-symbols.js +32 -0
- package/out/mcp/tools/query-symbols.js.map +1 -0
- package/out/mcp/tools/semantic-discovery.d.ts +12 -0
- package/out/mcp/tools/semantic-discovery.d.ts.map +1 -0
- package/out/mcp/tools/semantic-discovery.js +35 -0
- package/out/mcp/tools/semantic-discovery.js.map +1 -0
- package/out/mcp/tools/system-explanation.d.ts +9 -0
- package/out/mcp/tools/system-explanation.d.ts.map +1 -0
- package/out/mcp/tools/system-explanation.js +14 -0
- package/out/mcp/tools/system-explanation.js.map +1 -0
- package/out/mcp/types.d.ts +19 -0
- package/out/mcp/types.d.ts.map +1 -0
- package/out/mcp/types.js +6 -0
- package/out/mcp/types.js.map +1 -0
- package/out/models/adr.d.ts +26 -0
- package/out/models/adr.d.ts.map +1 -0
- package/out/models/adr.js +3 -0
- package/out/models/adr.js.map +1 -0
- package/out/models/change.d.ts +42 -0
- package/out/models/change.d.ts.map +1 -0
- package/out/models/change.js +3 -0
- package/out/models/change.js.map +1 -0
- package/out/models/dependency.d.ts +37 -0
- package/out/models/dependency.d.ts.map +1 -0
- package/out/models/dependency.js +3 -0
- package/out/models/dependency.js.map +1 -0
- package/out/models/entity-reference.d.ts +20 -0
- package/out/models/entity-reference.d.ts.map +1 -0
- package/out/models/entity-reference.js +19 -0
- package/out/models/entity-reference.js.map +1 -0
- package/out/models/module.d.ts +26 -0
- package/out/models/module.d.ts.map +1 -0
- package/out/models/module.js +3 -0
- package/out/models/module.js.map +1 -0
- package/out/models/symbol.d.ts +31 -0
- package/out/models/symbol.d.ts.map +1 -0
- package/out/models/symbol.js +3 -0
- package/out/models/symbol.js.map +1 -0
- package/out/repositories/adr-repository.d.ts +41 -0
- package/out/repositories/adr-repository.d.ts.map +1 -0
- package/out/repositories/adr-repository.js +128 -0
- package/out/repositories/adr-repository.js.map +1 -0
- package/out/repositories/base-repository.d.ts +86 -0
- package/out/repositories/base-repository.d.ts.map +1 -0
- package/out/repositories/base-repository.js +66 -0
- package/out/repositories/base-repository.js.map +1 -0
- package/out/repositories/change-repository.d.ts +40 -0
- package/out/repositories/change-repository.d.ts.map +1 -0
- package/out/repositories/change-repository.js +150 -0
- package/out/repositories/change-repository.js.map +1 -0
- package/out/repositories/dependency-repository.d.ts +40 -0
- package/out/repositories/dependency-repository.d.ts.map +1 -0
- package/out/repositories/dependency-repository.js +129 -0
- package/out/repositories/dependency-repository.js.map +1 -0
- package/out/repositories/embedding-repository.d.ts +64 -0
- package/out/repositories/embedding-repository.d.ts.map +1 -0
- package/out/repositories/embedding-repository.js +126 -0
- package/out/repositories/embedding-repository.js.map +1 -0
- package/out/repositories/importance-repository.d.ts +63 -0
- package/out/repositories/importance-repository.d.ts.map +1 -0
- package/out/repositories/importance-repository.js +117 -0
- package/out/repositories/importance-repository.js.map +1 -0
- package/out/repositories/module-repository.d.ts +37 -0
- package/out/repositories/module-repository.d.ts.map +1 -0
- package/out/repositories/module-repository.js +122 -0
- package/out/repositories/module-repository.js.map +1 -0
- package/out/repositories/navigation-repository.d.ts +117 -0
- package/out/repositories/navigation-repository.d.ts.map +1 -0
- package/out/repositories/navigation-repository.js +211 -0
- package/out/repositories/navigation-repository.js.map +1 -0
- package/out/repositories/symbol-repository.d.ts +37 -0
- package/out/repositories/symbol-repository.d.ts.map +1 -0
- package/out/repositories/symbol-repository.js +136 -0
- package/out/repositories/symbol-repository.js.map +1 -0
- package/out/services/cross-dimension-linker.d.ts +45 -0
- package/out/services/cross-dimension-linker.d.ts.map +1 -0
- package/out/services/cross-dimension-linker.js +98 -0
- package/out/services/cross-dimension-linker.js.map +1 -0
- package/out/services/importance-scorer.d.ts +47 -0
- package/out/services/importance-scorer.d.ts.map +1 -0
- package/out/services/importance-scorer.js +188 -0
- package/out/services/importance-scorer.js.map +1 -0
- package/out/services/ingestion-orchestrator.d.ts +49 -0
- package/out/services/ingestion-orchestrator.d.ts.map +1 -0
- package/out/services/ingestion-orchestrator.js +140 -0
- package/out/services/ingestion-orchestrator.js.map +1 -0
- package/out/services/navigation-builder.d.ts +29 -0
- package/out/services/navigation-builder.d.ts.map +1 -0
- package/out/services/navigation-builder.js +229 -0
- package/out/services/navigation-builder.js.map +1 -0
- package/out/services/system-model-builder.d.ts +40 -0
- package/out/services/system-model-builder.d.ts.map +1 -0
- package/out/services/system-model-builder.js +88 -0
- package/out/services/system-model-builder.js.map +1 -0
- package/out/ui/commands.d.ts +9 -0
- package/out/ui/commands.d.ts.map +1 -0
- package/out/ui/commands.js +123 -0
- package/out/ui/commands.js.map +1 -0
- package/out/ui/database-explorer.d.ts +27 -0
- package/out/ui/database-explorer.d.ts.map +1 -0
- package/out/ui/database-explorer.js +169 -0
- package/out/ui/database-explorer.js.map +1 -0
- package/out/ui/detail-view-provider.d.ts +86 -0
- package/out/ui/detail-view-provider.d.ts.map +1 -0
- package/out/ui/detail-view-provider.js +1037 -0
- package/out/ui/detail-view-provider.js.map +1 -0
- package/out/ui/search-provider.d.ts +30 -0
- package/out/ui/search-provider.d.ts.map +1 -0
- package/out/ui/search-provider.js +240 -0
- package/out/ui/search-provider.js.map +1 -0
- package/out/ui/status-provider.d.ts +17 -0
- package/out/ui/status-provider.d.ts.map +1 -0
- package/out/ui/status-provider.js +76 -0
- package/out/ui/status-provider.js.map +1 -0
- package/out/validators/consistency-validator.d.ts +37 -0
- package/out/validators/consistency-validator.d.ts.map +1 -0
- package/out/validators/consistency-validator.js +93 -0
- package/out/validators/consistency-validator.js.map +1 -0
- package/out/validators/integrity-validator.d.ts +45 -0
- package/out/validators/integrity-validator.d.ts.map +1 -0
- package/out/validators/integrity-validator.js +115 -0
- package/out/validators/integrity-validator.js.map +1 -0
- package/package.json +173 -0
- package/schemas/sqlite/001_initial_modules.sql +39 -0
- package/schemas/sqlite/002_initial_symbols.sql +46 -0
- package/schemas/sqlite/003_initial_dependencies.sql +51 -0
- package/schemas/sqlite/004_initial_adrs.sql +41 -0
- package/schemas/sqlite/005_initial_changes.sql +54 -0
- package/schemas/sqlite/006_initial_ingestion.sql +34 -0
- package/schemas/sqlite/006_vectors_schema.sql +73 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AdrRepository = void 0;
|
|
4
|
+
const base_repository_1 = require("./base-repository");
|
|
5
|
+
/**
|
|
6
|
+
* Repository for W-Dimension: ADRs
|
|
7
|
+
*/
|
|
8
|
+
class AdrRepository extends base_repository_1.BaseRepositoryImpl {
|
|
9
|
+
constructor(db) {
|
|
10
|
+
super(db, 'W');
|
|
11
|
+
}
|
|
12
|
+
async create(adr) {
|
|
13
|
+
await this.execute(`INSERT INTO adrs (id, plugin_id, adr_number, title, file_name, content_markdown, content_hash, deleted_at, created_at, updated_at)
|
|
14
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
|
|
15
|
+
adr.id,
|
|
16
|
+
adr.plugin_id,
|
|
17
|
+
adr.adr_number,
|
|
18
|
+
adr.title,
|
|
19
|
+
adr.file_name,
|
|
20
|
+
adr.content_markdown,
|
|
21
|
+
adr.content_hash,
|
|
22
|
+
adr.deleted_at,
|
|
23
|
+
adr.created_at,
|
|
24
|
+
adr.updated_at
|
|
25
|
+
]);
|
|
26
|
+
return adr;
|
|
27
|
+
}
|
|
28
|
+
async getById(id, pluginId) {
|
|
29
|
+
const row = await this.queryOne(`SELECT * FROM adrs WHERE id = ? AND plugin_id = ?`, [id, pluginId]);
|
|
30
|
+
if (!row) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
return this.mapRowToAdr(row);
|
|
34
|
+
}
|
|
35
|
+
async getByAdrNumber(adrNumber, pluginId) {
|
|
36
|
+
const row = await this.queryOne(`SELECT * FROM adrs WHERE adr_number = ? AND plugin_id = ?`, [adrNumber, pluginId]);
|
|
37
|
+
if (!row) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
return this.mapRowToAdr(row);
|
|
41
|
+
}
|
|
42
|
+
async update(adr) {
|
|
43
|
+
await this.execute(`UPDATE adrs
|
|
44
|
+
SET title = ?, file_name = ?, content_markdown = ?, content_hash = ?, deleted_at = ?, updated_at = ?
|
|
45
|
+
WHERE id = ? AND plugin_id = ?`, [
|
|
46
|
+
adr.title,
|
|
47
|
+
adr.file_name,
|
|
48
|
+
adr.content_markdown,
|
|
49
|
+
adr.content_hash,
|
|
50
|
+
adr.deleted_at,
|
|
51
|
+
adr.updated_at,
|
|
52
|
+
adr.id,
|
|
53
|
+
adr.plugin_id
|
|
54
|
+
]);
|
|
55
|
+
return adr;
|
|
56
|
+
}
|
|
57
|
+
async delete(id, pluginId) {
|
|
58
|
+
await this.execute(`UPDATE adrs SET deleted_at = CURRENT_TIMESTAMP WHERE id = ? AND plugin_id = ?`, [id, pluginId]);
|
|
59
|
+
}
|
|
60
|
+
async getAll(pluginId) {
|
|
61
|
+
const rows = await this.queryAll(`SELECT * FROM adrs WHERE plugin_id = ? AND deleted_at IS NULL ORDER BY adr_number`, [pluginId]);
|
|
62
|
+
return rows.map(row => this.mapRowToAdr(row));
|
|
63
|
+
}
|
|
64
|
+
async exists(id, pluginId) {
|
|
65
|
+
const row = await this.queryOne(`SELECT COUNT(*) as count FROM adrs WHERE id = ? AND plugin_id = ?`, [id, pluginId]);
|
|
66
|
+
return row !== null && row.count > 0;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Gets ADRs by content hash (for change detection).
|
|
70
|
+
*/
|
|
71
|
+
async findByContentHash(contentHash, pluginId) {
|
|
72
|
+
const rows = await this.queryAll(`SELECT * FROM adrs WHERE content_hash = ? AND plugin_id = ? AND deleted_at IS NULL`, [contentHash, pluginId]);
|
|
73
|
+
return rows.map(row => this.mapRowToAdr(row));
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Creates an ADR file mapping.
|
|
77
|
+
*/
|
|
78
|
+
async createAdrFileMapping(mapping) {
|
|
79
|
+
await this.execute(`INSERT INTO adr_file_mappings (id, adr_id, file_path)
|
|
80
|
+
VALUES (?, ?, ?)`, [mapping.id, mapping.adr_id, mapping.file_path]);
|
|
81
|
+
return mapping;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Gets all file mappings for an ADR.
|
|
85
|
+
*/
|
|
86
|
+
async getAdrFileMappings(adrId) {
|
|
87
|
+
const rows = await this.queryAll(`SELECT * FROM adr_file_mappings WHERE adr_id = ?`, [adrId]);
|
|
88
|
+
return rows.map(row => ({
|
|
89
|
+
id: row.id,
|
|
90
|
+
adr_id: row.adr_id,
|
|
91
|
+
file_path: row.file_path
|
|
92
|
+
}));
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Deletes an ADR file mapping by ID.
|
|
96
|
+
*/
|
|
97
|
+
async deleteAdrFileMapping(mappingId) {
|
|
98
|
+
await this.execute(`DELETE FROM adr_file_mappings WHERE id = ?`, [mappingId]);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Gets ADRs by file path.
|
|
102
|
+
*/
|
|
103
|
+
async findByFilePath(filePath, pluginId) {
|
|
104
|
+
const rows = await this.queryAll(`SELECT a.* FROM adrs a
|
|
105
|
+
JOIN adr_file_mappings afm ON a.id = afm.adr_id
|
|
106
|
+
WHERE afm.file_path = ? AND a.plugin_id = ? AND a.deleted_at IS NULL`, [filePath, pluginId]);
|
|
107
|
+
return rows.map(row => this.mapRowToAdr(row));
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Maps a database row to an Adr object.
|
|
111
|
+
*/
|
|
112
|
+
mapRowToAdr(row) {
|
|
113
|
+
return {
|
|
114
|
+
id: row.id,
|
|
115
|
+
plugin_id: row.plugin_id,
|
|
116
|
+
adr_number: row.adr_number,
|
|
117
|
+
title: row.title,
|
|
118
|
+
file_name: row.file_name,
|
|
119
|
+
content_markdown: row.content_markdown,
|
|
120
|
+
content_hash: row.content_hash,
|
|
121
|
+
deleted_at: row.deleted_at ? new Date(row.deleted_at) : null,
|
|
122
|
+
created_at: new Date(row.created_at),
|
|
123
|
+
updated_at: new Date(row.updated_at)
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
exports.AdrRepository = AdrRepository;
|
|
128
|
+
//# sourceMappingURL=adr-repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adr-repository.js","sourceRoot":"","sources":["../../src/repositories/adr-repository.ts"],"names":[],"mappings":";;;AACA,uDAAuD;AAIvD;;GAEG;AACH,MAAa,aAAc,SAAQ,oCAAuB;IACtD,YAAY,EAAoB;QAC5B,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAQ;QACxB,MAAM,IAAI,CAAC,OAAO,CACd;mDACuC,EACvC;YACI,GAAG,CAAC,EAAE;YACN,GAAG,CAAC,SAAS;YACb,GAAG,CAAC,UAAU;YACd,GAAG,CAAC,KAAK;YACT,GAAG,CAAC,SAAS;YACb,GAAG,CAAC,gBAAgB;YACpB,GAAG,CAAC,YAAY;YAChB,GAAG,CAAC,UAAU;YACd,GAAG,CAAC,UAAU;YACd,GAAG,CAAC,UAAU;SACjB,CACJ,CAAC;QACF,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,QAAgB;QAC7C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC3B,mDAAmD,EACnD,CAAC,EAAE,EAAE,QAAQ,CAAC,CACjB,CAAC;QAEF,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,QAAgB;QAC3D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC3B,2DAA2D,EAC3D,CAAC,SAAS,EAAE,QAAQ,CAAC,CACxB,CAAC;QAEF,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAQ;QACxB,MAAM,IAAI,CAAC,OAAO,CACd;;4CAEgC,EAChC;YACI,GAAG,CAAC,KAAK;YACT,GAAG,CAAC,SAAS;YACb,GAAG,CAAC,gBAAgB;YACpB,GAAG,CAAC,YAAY;YAChB,GAAG,CAAC,UAAU;YACd,GAAG,CAAC,UAAU;YACd,GAAG,CAAC,EAAE;YACN,GAAG,CAAC,SAAS;SAChB,CACJ,CAAC;QACF,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,QAAgB;QAC5C,MAAM,IAAI,CAAC,OAAO,CACd,+EAA+E,EAC/E,CAAC,EAAE,EAAE,QAAQ,CAAC,CACjB,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,QAAgB;QAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC5B,mFAAmF,EACnF,CAAC,QAAQ,CAAC,CACb,CAAC;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,QAAgB;QAC5C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC3B,mEAAmE,EACnE,CAAC,EAAE,EAAE,QAAQ,CAAC,CACjB,CAAC;QACF,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,iBAAiB,CAAC,WAAmB,EAAE,QAAgB;QAChE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC5B,oFAAoF,EACpF,CAAC,WAAW,EAAE,QAAQ,CAAC,CAC1B,CAAC;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,oBAAoB,CAAC,OAAuB;QACrD,MAAM,IAAI,CAAC,OAAO,CACd;8BACkB,EAClB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAClD,CAAC;QACF,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,kBAAkB,CAAC,KAAa;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC5B,kDAAkD,EAClD,CAAC,KAAK,CAAC,CACV,CAAC;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,SAAS,EAAE,GAAG,CAAC,SAAS;SAC3B,CAAC,CAAC,CAAC;IACR,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,oBAAoB,CAAC,SAAiB;QAC/C,MAAM,IAAI,CAAC,OAAO,CACd,4CAA4C,EAC5C,CAAC,SAAS,CAAC,CACd,CAAC;IACN,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,cAAc,CAAC,QAAgB,EAAE,QAAgB;QAC1D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC5B;;kFAEsE,EACtE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CACvB,CAAC;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,GAAQ;QACxB,OAAO;YACH,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;YAC5D,UAAU,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YACpC,UAAU,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;SACvC,CAAC;IACN,CAAC;CACJ;AA/KD,sCA+KC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import * as sqlite3 from 'sqlite3';
|
|
2
|
+
import { Dimension } from '../core/multi-db-manager';
|
|
3
|
+
/**
|
|
4
|
+
* Base repository interface for all dimension repositories.
|
|
5
|
+
* Provides common CRUD operations.
|
|
6
|
+
*/
|
|
7
|
+
export interface BaseRepository<T> {
|
|
8
|
+
/**
|
|
9
|
+
* Gets the dimension this repository handles.
|
|
10
|
+
*/
|
|
11
|
+
getDimension(): Dimension;
|
|
12
|
+
/**
|
|
13
|
+
* Creates a new entity.
|
|
14
|
+
*
|
|
15
|
+
* @param entity The entity to create
|
|
16
|
+
* @returns Promise that resolves to the created entity
|
|
17
|
+
*/
|
|
18
|
+
create(entity: T): Promise<T>;
|
|
19
|
+
/**
|
|
20
|
+
* Gets an entity by ID.
|
|
21
|
+
*
|
|
22
|
+
* @param id The entity ID
|
|
23
|
+
* @param pluginId The plugin ID
|
|
24
|
+
* @returns Promise that resolves to the entity, or null if not found
|
|
25
|
+
*/
|
|
26
|
+
getById(id: string, pluginId: string): Promise<T | null>;
|
|
27
|
+
/**
|
|
28
|
+
* Updates an existing entity.
|
|
29
|
+
*
|
|
30
|
+
* @param entity The entity to update
|
|
31
|
+
* @returns Promise that resolves to the updated entity
|
|
32
|
+
*/
|
|
33
|
+
update(entity: T): Promise<T>;
|
|
34
|
+
/**
|
|
35
|
+
* Deletes an entity by ID (soft delete if supported).
|
|
36
|
+
*
|
|
37
|
+
* @param id The entity ID
|
|
38
|
+
* @param pluginId The plugin ID
|
|
39
|
+
* @returns Promise that resolves when the entity is deleted
|
|
40
|
+
*/
|
|
41
|
+
delete(id: string, pluginId: string): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Gets all entities for a plugin.
|
|
44
|
+
*
|
|
45
|
+
* @param pluginId The plugin ID
|
|
46
|
+
* @returns Promise that resolves to an array of entities
|
|
47
|
+
*/
|
|
48
|
+
getAll(pluginId: string): Promise<T[]>;
|
|
49
|
+
/**
|
|
50
|
+
* Checks if an entity exists.
|
|
51
|
+
*
|
|
52
|
+
* @param id The entity ID
|
|
53
|
+
* @param pluginId The plugin ID
|
|
54
|
+
* @returns Promise that resolves to true if the entity exists
|
|
55
|
+
*/
|
|
56
|
+
exists(id: string, pluginId: string): Promise<boolean>;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Base implementation helper for repositories.
|
|
60
|
+
* Provides common database access patterns.
|
|
61
|
+
*/
|
|
62
|
+
export declare abstract class BaseRepositoryImpl<T> implements BaseRepository<T> {
|
|
63
|
+
protected db: sqlite3.Database;
|
|
64
|
+
protected dimension: Dimension;
|
|
65
|
+
constructor(db: sqlite3.Database, dimension: Dimension);
|
|
66
|
+
getDimension(): Dimension;
|
|
67
|
+
/**
|
|
68
|
+
* Executes a query and returns a single row.
|
|
69
|
+
*/
|
|
70
|
+
protected queryOne<TResult>(sql: string, params?: any[]): Promise<TResult | null>;
|
|
71
|
+
/**
|
|
72
|
+
* Executes a query and returns multiple rows.
|
|
73
|
+
*/
|
|
74
|
+
protected queryAll<TResult>(sql: string, params?: any[]): Promise<TResult[]>;
|
|
75
|
+
/**
|
|
76
|
+
* Executes an INSERT, UPDATE, or DELETE statement.
|
|
77
|
+
*/
|
|
78
|
+
protected execute(sql: string, params?: any[]): Promise<sqlite3.RunResult>;
|
|
79
|
+
abstract create(entity: T): Promise<T>;
|
|
80
|
+
abstract getById(id: string, pluginId: string): Promise<T | null>;
|
|
81
|
+
abstract update(entity: T): Promise<T>;
|
|
82
|
+
abstract delete(id: string, pluginId: string): Promise<void>;
|
|
83
|
+
abstract getAll(pluginId: string): Promise<T[]>;
|
|
84
|
+
abstract exists(id: string, pluginId: string): Promise<boolean>;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=base-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/base-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC7B;;OAEG;IACH,YAAY,IAAI,SAAS,CAAC;IAE1B;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE9B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAEzD;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE9B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpD;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAEvC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1D;AAED;;;GAGG;AACH,8BAAsB,kBAAkB,CAAC,CAAC,CAAE,YAAW,cAAc,CAAC,CAAC,CAAC;IACpE,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC;IAC/B,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;gBAEnB,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS;IAK/C,YAAY,IAAI,SAAS;IAIhC;;OAEG;cACa,QAAQ,CAAC,OAAO,EAC5B,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,GAAG,EAAO,GACnB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAc1B;;OAEG;cACa,QAAQ,CAAC,OAAO,EAC5B,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,GAAG,EAAO,GACnB,OAAO,CAAC,OAAO,EAAE,CAAC;IAYrB;;OAEG;cACa,OAAO,CACnB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,GAAG,EAAO,GACnB,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;aAab,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;aAC7B,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;aACxD,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;aAC7B,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;aACnD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;aACtC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CACzE"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseRepositoryImpl = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Base implementation helper for repositories.
|
|
6
|
+
* Provides common database access patterns.
|
|
7
|
+
*/
|
|
8
|
+
class BaseRepositoryImpl {
|
|
9
|
+
constructor(db, dimension) {
|
|
10
|
+
this.db = db;
|
|
11
|
+
this.dimension = dimension;
|
|
12
|
+
}
|
|
13
|
+
getDimension() {
|
|
14
|
+
return this.dimension;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Executes a query and returns a single row.
|
|
18
|
+
*/
|
|
19
|
+
async queryOne(sql, params = []) {
|
|
20
|
+
return new Promise((resolve, reject) => {
|
|
21
|
+
this.db.get(sql, params, (err, row) => {
|
|
22
|
+
if (err) {
|
|
23
|
+
reject(err);
|
|
24
|
+
}
|
|
25
|
+
else if (row) {
|
|
26
|
+
resolve(row);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
resolve(null);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Executes a query and returns multiple rows.
|
|
36
|
+
*/
|
|
37
|
+
async queryAll(sql, params = []) {
|
|
38
|
+
return new Promise((resolve, reject) => {
|
|
39
|
+
this.db.all(sql, params, (err, rows) => {
|
|
40
|
+
if (err) {
|
|
41
|
+
reject(err);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
resolve(rows || []);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Executes an INSERT, UPDATE, or DELETE statement.
|
|
51
|
+
*/
|
|
52
|
+
async execute(sql, params = []) {
|
|
53
|
+
return new Promise((resolve, reject) => {
|
|
54
|
+
this.db.run(sql, params, function (err) {
|
|
55
|
+
if (err) {
|
|
56
|
+
reject(err);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
resolve(this);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.BaseRepositoryImpl = BaseRepositoryImpl;
|
|
66
|
+
//# sourceMappingURL=base-repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-repository.js","sourceRoot":"","sources":["../../src/repositories/base-repository.ts"],"names":[],"mappings":";;;AAiEA;;;GAGG;AACH,MAAsB,kBAAkB;IAIpC,YAAY,EAAoB,EAAE,SAAoB;QAClD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,QAAQ,CACpB,GAAW,EACX,SAAgB,EAAE;QAElB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAwB,EAAE,EAAE;gBACvD,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC;qBAAM,IAAI,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,QAAQ,CACpB,GAAW,EACX,SAAgB,EAAE;QAElB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,IAA2B,EAAE,EAAE;gBAC1D,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACxB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,OAAO,CACnB,GAAW,EACX,SAAgB,EAAE;QAElB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,UAAS,GAAG;gBACjC,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;CASJ;AA5ED,gDA4EC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as sqlite3 from 'sqlite3';
|
|
2
|
+
import { BaseRepositoryImpl } from './base-repository';
|
|
3
|
+
import { ChangeReport, SymbolChange, DependencyChange } from '../models/change';
|
|
4
|
+
/**
|
|
5
|
+
* Repository for T-Dimension: Changes
|
|
6
|
+
*/
|
|
7
|
+
export declare class ChangeRepository extends BaseRepositoryImpl<ChangeReport> {
|
|
8
|
+
constructor(db: sqlite3.Database);
|
|
9
|
+
create(changeReport: ChangeReport): Promise<ChangeReport>;
|
|
10
|
+
getById(id: string, pluginId: string): Promise<ChangeReport | null>;
|
|
11
|
+
update(changeReport: ChangeReport): Promise<ChangeReport>;
|
|
12
|
+
delete(id: string, pluginId: string): Promise<void>;
|
|
13
|
+
getAll(pluginId: string): Promise<ChangeReport[]>;
|
|
14
|
+
exists(id: string, pluginId: string): Promise<boolean>;
|
|
15
|
+
/**
|
|
16
|
+
* Gets the latest change report for a plugin.
|
|
17
|
+
*/
|
|
18
|
+
getLatest(pluginId: string): Promise<ChangeReport | null>;
|
|
19
|
+
/**
|
|
20
|
+
* Creates a symbol change.
|
|
21
|
+
*/
|
|
22
|
+
createSymbolChange(symbolChange: SymbolChange): Promise<SymbolChange>;
|
|
23
|
+
/**
|
|
24
|
+
* Gets all symbol changes for a report.
|
|
25
|
+
*/
|
|
26
|
+
getSymbolChanges(reportId: string): Promise<SymbolChange[]>;
|
|
27
|
+
/**
|
|
28
|
+
* Creates a dependency change.
|
|
29
|
+
*/
|
|
30
|
+
createDependencyChange(dependencyChange: DependencyChange): Promise<DependencyChange>;
|
|
31
|
+
/**
|
|
32
|
+
* Gets all dependency changes for a report.
|
|
33
|
+
*/
|
|
34
|
+
getDependencyChanges(reportId: string): Promise<DependencyChange[]>;
|
|
35
|
+
/**
|
|
36
|
+
* Maps a database row to a ChangeReport object.
|
|
37
|
+
*/
|
|
38
|
+
private mapRowToChangeReport;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=change-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/change-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGhF;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB,CAAC,YAAY,CAAC;gBACtD,EAAE,EAAE,OAAO,CAAC,QAAQ;IAInB,MAAM,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAmBzD,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAanE,MAAM,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAmBzD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IASjD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQnE;;OAEG;IACU,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAatE;;OAEG;IACU,kBAAkB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAkBlF;;OAEG;IACU,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAkBxE;;OAEG;IACU,sBAAsB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgBlG;;OAEG;IACU,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAgBhF;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAa/B"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChangeRepository = void 0;
|
|
4
|
+
const base_repository_1 = require("./base-repository");
|
|
5
|
+
/**
|
|
6
|
+
* Repository for T-Dimension: Changes
|
|
7
|
+
*/
|
|
8
|
+
class ChangeRepository extends base_repository_1.BaseRepositoryImpl {
|
|
9
|
+
constructor(db) {
|
|
10
|
+
super(db, 'T');
|
|
11
|
+
}
|
|
12
|
+
async create(changeReport) {
|
|
13
|
+
await this.execute(`INSERT INTO change_reports (id, plugin_id, run_type, parsed_files, skipped_files, total_dependencies, validation_errors, validation_warnings, created_at)
|
|
14
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
|
|
15
|
+
changeReport.id,
|
|
16
|
+
changeReport.plugin_id,
|
|
17
|
+
changeReport.run_type,
|
|
18
|
+
changeReport.parsed_files,
|
|
19
|
+
changeReport.skipped_files,
|
|
20
|
+
changeReport.total_dependencies,
|
|
21
|
+
changeReport.validation_errors,
|
|
22
|
+
changeReport.validation_warnings,
|
|
23
|
+
changeReport.created_at
|
|
24
|
+
]);
|
|
25
|
+
return changeReport;
|
|
26
|
+
}
|
|
27
|
+
async getById(id, pluginId) {
|
|
28
|
+
const row = await this.queryOne(`SELECT * FROM change_reports WHERE id = ? AND plugin_id = ?`, [id, pluginId]);
|
|
29
|
+
if (!row) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
return this.mapRowToChangeReport(row);
|
|
33
|
+
}
|
|
34
|
+
async update(changeReport) {
|
|
35
|
+
await this.execute(`UPDATE change_reports
|
|
36
|
+
SET run_type = ?, parsed_files = ?, skipped_files = ?, total_dependencies = ?, validation_errors = ?, validation_warnings = ?
|
|
37
|
+
WHERE id = ? AND plugin_id = ?`, [
|
|
38
|
+
changeReport.run_type,
|
|
39
|
+
changeReport.parsed_files,
|
|
40
|
+
changeReport.skipped_files,
|
|
41
|
+
changeReport.total_dependencies,
|
|
42
|
+
changeReport.validation_errors,
|
|
43
|
+
changeReport.validation_warnings,
|
|
44
|
+
changeReport.id,
|
|
45
|
+
changeReport.plugin_id
|
|
46
|
+
]);
|
|
47
|
+
return changeReport;
|
|
48
|
+
}
|
|
49
|
+
async delete(id, pluginId) {
|
|
50
|
+
await this.execute(`DELETE FROM change_reports WHERE id = ? AND plugin_id = ?`, [id, pluginId]);
|
|
51
|
+
}
|
|
52
|
+
async getAll(pluginId) {
|
|
53
|
+
const rows = await this.queryAll(`SELECT * FROM change_reports WHERE plugin_id = ? ORDER BY created_at DESC`, [pluginId]);
|
|
54
|
+
return rows.map(row => this.mapRowToChangeReport(row));
|
|
55
|
+
}
|
|
56
|
+
async exists(id, pluginId) {
|
|
57
|
+
const row = await this.queryOne(`SELECT COUNT(*) as count FROM change_reports WHERE id = ? AND plugin_id = ?`, [id, pluginId]);
|
|
58
|
+
return row !== null && row.count > 0;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Gets the latest change report for a plugin.
|
|
62
|
+
*/
|
|
63
|
+
async getLatest(pluginId) {
|
|
64
|
+
const row = await this.queryOne(`SELECT * FROM change_reports WHERE plugin_id = ? ORDER BY created_at DESC LIMIT 1`, [pluginId]);
|
|
65
|
+
if (!row) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
return this.mapRowToChangeReport(row);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Creates a symbol change.
|
|
72
|
+
*/
|
|
73
|
+
async createSymbolChange(symbolChange) {
|
|
74
|
+
await this.execute(`INSERT INTO symbol_changes (id, report_id, change_type, file_path, symbol_name, symbol_kind, old_signature, new_signature)
|
|
75
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)`, [
|
|
76
|
+
symbolChange.id,
|
|
77
|
+
symbolChange.report_id,
|
|
78
|
+
symbolChange.change_type,
|
|
79
|
+
symbolChange.file_path,
|
|
80
|
+
symbolChange.symbol_name,
|
|
81
|
+
symbolChange.symbol_kind,
|
|
82
|
+
symbolChange.old_signature,
|
|
83
|
+
symbolChange.new_signature
|
|
84
|
+
]);
|
|
85
|
+
return symbolChange;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Gets all symbol changes for a report.
|
|
89
|
+
*/
|
|
90
|
+
async getSymbolChanges(reportId) {
|
|
91
|
+
const rows = await this.queryAll(`SELECT * FROM symbol_changes WHERE report_id = ?`, [reportId]);
|
|
92
|
+
return rows.map(row => ({
|
|
93
|
+
id: row.id,
|
|
94
|
+
report_id: row.report_id,
|
|
95
|
+
change_type: row.change_type,
|
|
96
|
+
file_path: row.file_path,
|
|
97
|
+
symbol_name: row.symbol_name,
|
|
98
|
+
symbol_kind: row.symbol_kind,
|
|
99
|
+
old_signature: row.old_signature,
|
|
100
|
+
new_signature: row.new_signature
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Creates a dependency change.
|
|
105
|
+
*/
|
|
106
|
+
async createDependencyChange(dependencyChange) {
|
|
107
|
+
await this.execute(`INSERT INTO dependency_changes (id, report_id, change_type, from_module, to_module, dependency_type)
|
|
108
|
+
VALUES (?, ?, ?, ?, ?, ?)`, [
|
|
109
|
+
dependencyChange.id,
|
|
110
|
+
dependencyChange.report_id,
|
|
111
|
+
dependencyChange.change_type,
|
|
112
|
+
dependencyChange.from_module,
|
|
113
|
+
dependencyChange.to_module,
|
|
114
|
+
dependencyChange.dependency_type
|
|
115
|
+
]);
|
|
116
|
+
return dependencyChange;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Gets all dependency changes for a report.
|
|
120
|
+
*/
|
|
121
|
+
async getDependencyChanges(reportId) {
|
|
122
|
+
const rows = await this.queryAll(`SELECT * FROM dependency_changes WHERE report_id = ?`, [reportId]);
|
|
123
|
+
return rows.map(row => ({
|
|
124
|
+
id: row.id,
|
|
125
|
+
report_id: row.report_id,
|
|
126
|
+
change_type: row.change_type,
|
|
127
|
+
from_module: row.from_module,
|
|
128
|
+
to_module: row.to_module,
|
|
129
|
+
dependency_type: row.dependency_type
|
|
130
|
+
}));
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Maps a database row to a ChangeReport object.
|
|
134
|
+
*/
|
|
135
|
+
mapRowToChangeReport(row) {
|
|
136
|
+
return {
|
|
137
|
+
id: row.id,
|
|
138
|
+
plugin_id: row.plugin_id,
|
|
139
|
+
run_type: row.run_type,
|
|
140
|
+
parsed_files: row.parsed_files,
|
|
141
|
+
skipped_files: row.skipped_files,
|
|
142
|
+
total_dependencies: row.total_dependencies,
|
|
143
|
+
validation_errors: row.validation_errors,
|
|
144
|
+
validation_warnings: row.validation_warnings,
|
|
145
|
+
created_at: new Date(row.created_at)
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
exports.ChangeRepository = ChangeRepository;
|
|
150
|
+
//# sourceMappingURL=change-repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-repository.js","sourceRoot":"","sources":["../../src/repositories/change-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as sqlite3 from 'sqlite3';
|
|
2
|
+
import { BaseRepositoryImpl } from './base-repository';
|
|
3
|
+
import { Dependency, DependencyGraphCache, DependencySymbolEvidence } from '../models/dependency';
|
|
4
|
+
/**
|
|
5
|
+
* Repository for Z-Dimension: Dependencies
|
|
6
|
+
*/
|
|
7
|
+
export declare class DependencyRepository extends BaseRepositoryImpl<Dependency> {
|
|
8
|
+
constructor(db: sqlite3.Database);
|
|
9
|
+
create(dependency: Dependency): Promise<Dependency>;
|
|
10
|
+
getById(id: string, pluginId: string): Promise<Dependency | null>;
|
|
11
|
+
update(dependency: Dependency): Promise<Dependency>;
|
|
12
|
+
delete(id: string, pluginId: string): Promise<void>;
|
|
13
|
+
getAll(pluginId: string): Promise<Dependency[]>;
|
|
14
|
+
exists(id: string, pluginId: string): Promise<boolean>;
|
|
15
|
+
/**
|
|
16
|
+
* Gets dependencies by from_module.
|
|
17
|
+
*/
|
|
18
|
+
findByFromModule(fromModule: string, pluginId: string): Promise<Dependency[]>;
|
|
19
|
+
/**
|
|
20
|
+
* Gets dependencies by to_module.
|
|
21
|
+
*/
|
|
22
|
+
findByToModule(toModule: string, pluginId: string): Promise<Dependency[]>;
|
|
23
|
+
/**
|
|
24
|
+
* Gets the dependency graph cache.
|
|
25
|
+
*/
|
|
26
|
+
getDependencyGraphCache(pluginId: string): Promise<DependencyGraphCache | null>;
|
|
27
|
+
/**
|
|
28
|
+
* Sets the dependency graph cache.
|
|
29
|
+
*/
|
|
30
|
+
setDependencyGraphCache(cache: DependencyGraphCache): Promise<DependencyGraphCache>;
|
|
31
|
+
/**
|
|
32
|
+
* Creates a dependency symbol evidence link.
|
|
33
|
+
*/
|
|
34
|
+
createDependencySymbolEvidence(evidence: DependencySymbolEvidence): Promise<DependencySymbolEvidence>;
|
|
35
|
+
/**
|
|
36
|
+
* Maps a database row to a Dependency object.
|
|
37
|
+
*/
|
|
38
|
+
private mapRowToDependency;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=dependency-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependency-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/dependency-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGlG;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,kBAAkB,CAAC,UAAU,CAAC;gBACxD,EAAE,EAAE,OAAO,CAAC,QAAQ;IAInB,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAqBnD,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAajE,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAqBnD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAS/C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQnE;;OAEG;IACU,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAS1F;;OAEG;IACU,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAStF;;OAEG;IACU,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAkB5F;;OAEG;IACU,uBAAuB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAShG;;OAEG;IACU,8BAA8B,CAAC,QAAQ,EAAE,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IASlH;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAe7B"}
|