@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,43 @@
|
|
|
1
|
+
import { MultiDbManager } from '../core/multi-db-manager';
|
|
2
|
+
import { EntityReference } from '../models/entity-reference';
|
|
3
|
+
/**
|
|
4
|
+
* Bootstrap information for first-time system understanding.
|
|
5
|
+
* Provides everything an agent needs to start without prior knowledge.
|
|
6
|
+
*/
|
|
7
|
+
export interface BootstrapInfo {
|
|
8
|
+
what_am_i: string;
|
|
9
|
+
how_do_i_work: string;
|
|
10
|
+
where_to_start: Array<{
|
|
11
|
+
entity: EntityReference;
|
|
12
|
+
reason: string;
|
|
13
|
+
}>;
|
|
14
|
+
how_to_navigate: string;
|
|
15
|
+
example_queries: string[];
|
|
16
|
+
dimensions_overview: Array<{
|
|
17
|
+
id: 'X' | 'Y' | 'Z' | 'W' | 'T';
|
|
18
|
+
name: string;
|
|
19
|
+
description: string;
|
|
20
|
+
}>;
|
|
21
|
+
tools_available: Array<{
|
|
22
|
+
name: string;
|
|
23
|
+
description: string;
|
|
24
|
+
example: any;
|
|
25
|
+
}>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Bootstrap API - first point of contact for agents without prior knowledge.
|
|
29
|
+
* Provides system description, entry points, and example queries.
|
|
30
|
+
*/
|
|
31
|
+
export declare class BootstrapApi {
|
|
32
|
+
private dbManager;
|
|
33
|
+
private selfExplanationApi;
|
|
34
|
+
constructor(dbManager: MultiDbManager);
|
|
35
|
+
/**
|
|
36
|
+
* Gets bootstrap information for first-time system understanding.
|
|
37
|
+
*
|
|
38
|
+
* @param pluginId Plugin ID
|
|
39
|
+
* @returns Promise that resolves to bootstrap information
|
|
40
|
+
*/
|
|
41
|
+
getBootstrapInfo(pluginId: string): Promise<BootstrapInfo>;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=bootstrap-api.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BootstrapApi = void 0;
|
|
4
|
+
const self_explanation_api_1 = require("./self-explanation-api");
|
|
5
|
+
/**
|
|
6
|
+
* Bootstrap API - first point of contact for agents without prior knowledge.
|
|
7
|
+
* Provides system description, entry points, and example queries.
|
|
8
|
+
*/
|
|
9
|
+
class BootstrapApi {
|
|
10
|
+
constructor(dbManager) {
|
|
11
|
+
this.dbManager = dbManager;
|
|
12
|
+
this.selfExplanationApi = new self_explanation_api_1.SelfExplanationApi(dbManager);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Gets bootstrap information for first-time system understanding.
|
|
16
|
+
*
|
|
17
|
+
* @param pluginId Plugin ID
|
|
18
|
+
* @returns Promise that resolves to bootstrap information
|
|
19
|
+
*/
|
|
20
|
+
async getBootstrapInfo(pluginId) {
|
|
21
|
+
// Get system explanation
|
|
22
|
+
const systemExplanation = await this.selfExplanationApi.explainSystem(pluginId);
|
|
23
|
+
// Get entry points with reasons
|
|
24
|
+
const entryPoints = systemExplanation.entry_points.map(ep => ({
|
|
25
|
+
entity: {
|
|
26
|
+
dimension: ep.dimension,
|
|
27
|
+
entity_id: ep.entity_id,
|
|
28
|
+
external_id: ep.external_id
|
|
29
|
+
},
|
|
30
|
+
reason: ep.reason || 'Entry point'
|
|
31
|
+
}));
|
|
32
|
+
return {
|
|
33
|
+
what_am_i: systemExplanation.what_am_i,
|
|
34
|
+
how_do_i_work: systemExplanation.how_do_i_work,
|
|
35
|
+
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
|
+
],
|
|
47
|
+
dimensions_overview: systemExplanation.dimensions.map(dim => ({
|
|
48
|
+
id: dim.id,
|
|
49
|
+
name: dim.name,
|
|
50
|
+
description: dim.description
|
|
51
|
+
})),
|
|
52
|
+
tools_available: [
|
|
53
|
+
{
|
|
54
|
+
name: 'semantic_discovery',
|
|
55
|
+
description: 'Semantic search and context retrieval for LLM understanding',
|
|
56
|
+
example: {
|
|
57
|
+
query: 'How does ingestion work?',
|
|
58
|
+
pluginId
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: 'system_explanation',
|
|
63
|
+
description: 'Get system overview, entry points, and architecture ADRs',
|
|
64
|
+
example: {
|
|
65
|
+
pluginId
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: 'learning_path',
|
|
70
|
+
description: 'Generate guided learning path for understanding a topic',
|
|
71
|
+
example: {
|
|
72
|
+
topic: 'ingestion',
|
|
73
|
+
pluginId
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: 'bootstrap',
|
|
78
|
+
description: 'Get bootstrap information for first-time system understanding (no prior knowledge required)',
|
|
79
|
+
example: {
|
|
80
|
+
pluginId
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
]
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.BootstrapApi = BootstrapApi;
|
|
88
|
+
//# sourceMappingURL=bootstrap-api.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { MultiDbManager } from '../core/multi-db-manager';
|
|
2
|
+
import { ChangeReport, SymbolChange, DependencyChange } from '../models/change';
|
|
3
|
+
/**
|
|
4
|
+
* API for T-Dimension: Changes
|
|
5
|
+
*/
|
|
6
|
+
export declare class ChangeApi {
|
|
7
|
+
private dbManager;
|
|
8
|
+
constructor(dbManager: MultiDbManager);
|
|
9
|
+
/**
|
|
10
|
+
* Gets all change reports for a plugin.
|
|
11
|
+
*/
|
|
12
|
+
getAllChangeReports(pluginId: string): Promise<ChangeReport[]>;
|
|
13
|
+
/**
|
|
14
|
+
* Gets the latest change report for a plugin.
|
|
15
|
+
*/
|
|
16
|
+
getLatestChangeReport(pluginId: string): Promise<ChangeReport | null>;
|
|
17
|
+
/**
|
|
18
|
+
* Gets symbol changes for a report.
|
|
19
|
+
*/
|
|
20
|
+
getSymbolChanges(reportId: string): Promise<SymbolChange[]>;
|
|
21
|
+
/**
|
|
22
|
+
* Gets dependency changes for a report.
|
|
23
|
+
*/
|
|
24
|
+
getDependencyChanges(reportId: string): Promise<DependencyChange[]>;
|
|
25
|
+
/**
|
|
26
|
+
* Gets a change report by ID.
|
|
27
|
+
*/
|
|
28
|
+
getChangeReportById(id: string, pluginId: string): Promise<ChangeReport | null>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=change-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-api.d.ts","sourceRoot":"","sources":["../../src/api/change-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEhF;;GAEG;AACH,qBAAa,SAAS;IAClB,OAAO,CAAC,SAAS,CAAiB;gBAEtB,SAAS,EAAE,cAAc;IAIrC;;OAEG;IACU,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAM3E;;OAEG;IACU,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAMlF;;OAEG;IACU,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAMxE;;OAEG;IACU,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAMhF;;OAEG;IACU,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;CAK/F"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChangeApi = void 0;
|
|
4
|
+
const change_repository_1 = require("../repositories/change-repository");
|
|
5
|
+
/**
|
|
6
|
+
* API for T-Dimension: Changes
|
|
7
|
+
*/
|
|
8
|
+
class ChangeApi {
|
|
9
|
+
constructor(dbManager) {
|
|
10
|
+
this.dbManager = dbManager;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Gets all change reports for a plugin.
|
|
14
|
+
*/
|
|
15
|
+
async getAllChangeReports(pluginId) {
|
|
16
|
+
const db = await this.dbManager.getDatabase('T');
|
|
17
|
+
const repository = new change_repository_1.ChangeRepository(db);
|
|
18
|
+
return repository.getAll(pluginId);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Gets the latest change report for a plugin.
|
|
22
|
+
*/
|
|
23
|
+
async getLatestChangeReport(pluginId) {
|
|
24
|
+
const db = await this.dbManager.getDatabase('T');
|
|
25
|
+
const repository = new change_repository_1.ChangeRepository(db);
|
|
26
|
+
return repository.getLatest(pluginId);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Gets symbol changes for a report.
|
|
30
|
+
*/
|
|
31
|
+
async getSymbolChanges(reportId) {
|
|
32
|
+
const db = await this.dbManager.getDatabase('T');
|
|
33
|
+
const repository = new change_repository_1.ChangeRepository(db);
|
|
34
|
+
return repository.getSymbolChanges(reportId);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Gets dependency changes for a report.
|
|
38
|
+
*/
|
|
39
|
+
async getDependencyChanges(reportId) {
|
|
40
|
+
const db = await this.dbManager.getDatabase('T');
|
|
41
|
+
const repository = new change_repository_1.ChangeRepository(db);
|
|
42
|
+
return repository.getDependencyChanges(reportId);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Gets a change report by ID.
|
|
46
|
+
*/
|
|
47
|
+
async getChangeReportById(id, pluginId) {
|
|
48
|
+
const db = await this.dbManager.getDatabase('T');
|
|
49
|
+
const repository = new change_repository_1.ChangeRepository(db);
|
|
50
|
+
return repository.getById(id, pluginId);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.ChangeApi = ChangeApi;
|
|
54
|
+
//# sourceMappingURL=change-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-api.js","sourceRoot":"","sources":["../../src/api/change-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,mBAAmB,CAAC,QAAgB;QAC7C,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,qBAAqB,CAAC,QAAgB;QAC/C,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,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QAC1C,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,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,oBAAoB,CAAC,QAAgB;QAC9C,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,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,mBAAmB,CAAC,EAAU,EAAE,QAAgB;QACzD,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;CACJ;AAnDD,8BAmDC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { MultiDbManager } from '../core/multi-db-manager';
|
|
2
|
+
import { IdMapper } from '../core/id-mapper';
|
|
3
|
+
import { EntityReference } from '../models/entity-reference';
|
|
4
|
+
/**
|
|
5
|
+
* Structured context for an entity or set of entities.
|
|
6
|
+
* Contains all relevant information from 5D-DBs WITHOUT AI generation.
|
|
7
|
+
*/
|
|
8
|
+
export interface StructuredContext {
|
|
9
|
+
entities: Array<{
|
|
10
|
+
dimension: 'X' | 'Y' | 'Z' | 'W' | 'T';
|
|
11
|
+
entityId: string;
|
|
12
|
+
externalId: string;
|
|
13
|
+
details: any;
|
|
14
|
+
}>;
|
|
15
|
+
related: Array<{
|
|
16
|
+
entityRef: EntityReference;
|
|
17
|
+
relationship: string;
|
|
18
|
+
}>;
|
|
19
|
+
adrs: Array<{
|
|
20
|
+
adr_number: string;
|
|
21
|
+
title: string;
|
|
22
|
+
content_preview: string;
|
|
23
|
+
}>;
|
|
24
|
+
dependencies: Array<{
|
|
25
|
+
from: string;
|
|
26
|
+
to: string;
|
|
27
|
+
type: string;
|
|
28
|
+
}>;
|
|
29
|
+
entryPoints: Array<EntityReference>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Builds structured, deterministic context from 5D-DBs.
|
|
33
|
+
* NO AI generation - only data from databases.
|
|
34
|
+
*/
|
|
35
|
+
export declare class ContextBuilder {
|
|
36
|
+
private dbManager;
|
|
37
|
+
private crossDimensionApi;
|
|
38
|
+
private moduleApi;
|
|
39
|
+
private symbolApi;
|
|
40
|
+
private dependencyApi;
|
|
41
|
+
private adrApi;
|
|
42
|
+
private changeApi;
|
|
43
|
+
constructor(dbManager: MultiDbManager, idMapper: IdMapper);
|
|
44
|
+
/**
|
|
45
|
+
* Builds structured context for a set of entity references.
|
|
46
|
+
*
|
|
47
|
+
* @param entityRefs Entity references to build context for
|
|
48
|
+
* @param pluginId Plugin ID
|
|
49
|
+
* @returns Promise that resolves to structured context
|
|
50
|
+
*/
|
|
51
|
+
buildContext(entityRefs: EntityReference[], pluginId: string): Promise<StructuredContext>;
|
|
52
|
+
/**
|
|
53
|
+
* Gets entity details from the corresponding dimension.
|
|
54
|
+
*/
|
|
55
|
+
private getEntityDetails;
|
|
56
|
+
/**
|
|
57
|
+
* Gets related entities via CrossDimensionApi.
|
|
58
|
+
*/
|
|
59
|
+
private getRelatedEntities;
|
|
60
|
+
/**
|
|
61
|
+
* Gets relevant ADRs for an entity.
|
|
62
|
+
*/
|
|
63
|
+
private getRelevantAdrs;
|
|
64
|
+
/**
|
|
65
|
+
* Gets dependencies for an entity.
|
|
66
|
+
*/
|
|
67
|
+
private getDependencies;
|
|
68
|
+
/**
|
|
69
|
+
* Gets entry points for the system.
|
|
70
|
+
*/
|
|
71
|
+
private getEntryPoints;
|
|
72
|
+
/**
|
|
73
|
+
* Deduplicates ADRs by adr_number.
|
|
74
|
+
*/
|
|
75
|
+
private deduplicateAdrs;
|
|
76
|
+
/**
|
|
77
|
+
* Deduplicates dependencies by from+to+type.
|
|
78
|
+
*/
|
|
79
|
+
private deduplicateDependencies;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=context-builder.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ContextBuilder = void 0;
|
|
4
|
+
const cross_dimension_api_1 = require("./cross-dimension-api");
|
|
5
|
+
const module_api_1 = require("./module-api");
|
|
6
|
+
const symbol_api_1 = require("./symbol-api");
|
|
7
|
+
const dependency_api_1 = require("./dependency-api");
|
|
8
|
+
const adr_api_1 = require("./adr-api");
|
|
9
|
+
const change_api_1 = require("./change-api");
|
|
10
|
+
const navigation_repository_1 = require("../repositories/navigation-repository");
|
|
11
|
+
/**
|
|
12
|
+
* Builds structured, deterministic context from 5D-DBs.
|
|
13
|
+
* NO AI generation - only data from databases.
|
|
14
|
+
*/
|
|
15
|
+
class ContextBuilder {
|
|
16
|
+
constructor(dbManager, idMapper) {
|
|
17
|
+
this.dbManager = dbManager;
|
|
18
|
+
this.crossDimensionApi = new cross_dimension_api_1.CrossDimensionApi(dbManager, idMapper);
|
|
19
|
+
this.moduleApi = new module_api_1.ModuleApi(dbManager);
|
|
20
|
+
this.symbolApi = new symbol_api_1.SymbolApi(dbManager);
|
|
21
|
+
this.dependencyApi = new dependency_api_1.DependencyApi(dbManager);
|
|
22
|
+
this.adrApi = new adr_api_1.AdrApi(dbManager);
|
|
23
|
+
this.changeApi = new change_api_1.ChangeApi(dbManager);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Builds structured context for a set of entity references.
|
|
27
|
+
*
|
|
28
|
+
* @param entityRefs Entity references to build context for
|
|
29
|
+
* @param pluginId Plugin ID
|
|
30
|
+
* @returns Promise that resolves to structured context
|
|
31
|
+
*/
|
|
32
|
+
async buildContext(entityRefs, pluginId) {
|
|
33
|
+
const entities = [];
|
|
34
|
+
const related = [];
|
|
35
|
+
const adrs = [];
|
|
36
|
+
const dependencies = [];
|
|
37
|
+
const entryPoints = [];
|
|
38
|
+
// 1. Get entity details from corresponding dimensions
|
|
39
|
+
for (const entityRef of entityRefs) {
|
|
40
|
+
// Skip V-dimension entities (they're metadata, not content)
|
|
41
|
+
if (entityRef.dimension === 'V') {
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
const details = await this.getEntityDetails(entityRef, pluginId);
|
|
45
|
+
if (details) {
|
|
46
|
+
entities.push({
|
|
47
|
+
dimension: entityRef.dimension,
|
|
48
|
+
entityId: entityRef.entity_id,
|
|
49
|
+
externalId: entityRef.external_id,
|
|
50
|
+
details
|
|
51
|
+
});
|
|
52
|
+
// 2. Get related entities via CrossDimensionApi
|
|
53
|
+
const relatedEntities = await this.getRelatedEntities(entityRef, pluginId);
|
|
54
|
+
related.push(...relatedEntities);
|
|
55
|
+
// 3. Get relevant ADRs
|
|
56
|
+
const entityAdrs = await this.getRelevantAdrs(entityRef, pluginId);
|
|
57
|
+
adrs.push(...entityAdrs);
|
|
58
|
+
// 4. Get dependencies
|
|
59
|
+
const entityDeps = await this.getDependencies(entityRef, pluginId);
|
|
60
|
+
dependencies.push(...entityDeps);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// 5. Get entry points
|
|
64
|
+
const entryPointsList = await this.getEntryPoints(pluginId);
|
|
65
|
+
entryPoints.push(...entryPointsList);
|
|
66
|
+
return {
|
|
67
|
+
entities,
|
|
68
|
+
related,
|
|
69
|
+
adrs: this.deduplicateAdrs(adrs),
|
|
70
|
+
dependencies: this.deduplicateDependencies(dependencies),
|
|
71
|
+
entryPoints
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Gets entity details from the corresponding dimension.
|
|
76
|
+
*/
|
|
77
|
+
async getEntityDetails(entityRef, pluginId) {
|
|
78
|
+
switch (entityRef.dimension) {
|
|
79
|
+
case 'X': {
|
|
80
|
+
const module = await this.moduleApi.getModuleById(entityRef.entity_id, pluginId);
|
|
81
|
+
return module;
|
|
82
|
+
}
|
|
83
|
+
case 'Y': {
|
|
84
|
+
const symbol = await this.symbolApi.getSymbolById(entityRef.external_id, pluginId);
|
|
85
|
+
return symbol;
|
|
86
|
+
}
|
|
87
|
+
case 'Z': {
|
|
88
|
+
const dependency = await this.dependencyApi.getDependencyById(entityRef.entity_id, pluginId);
|
|
89
|
+
return dependency;
|
|
90
|
+
}
|
|
91
|
+
case 'W': {
|
|
92
|
+
const adr = await this.adrApi.getAdrByNumber(entityRef.external_id, pluginId);
|
|
93
|
+
return adr;
|
|
94
|
+
}
|
|
95
|
+
case 'T': {
|
|
96
|
+
const changeReport = await this.changeApi.getChangeReportById(entityRef.entity_id, pluginId);
|
|
97
|
+
return changeReport;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Gets related entities via CrossDimensionApi.
|
|
103
|
+
*/
|
|
104
|
+
async getRelatedEntities(entityRef, pluginId) {
|
|
105
|
+
const related = [];
|
|
106
|
+
switch (entityRef.dimension) {
|
|
107
|
+
case 'X': {
|
|
108
|
+
// Module → Symbols
|
|
109
|
+
const module = await this.moduleApi.getModuleById(entityRef.entity_id, pluginId);
|
|
110
|
+
if (module) {
|
|
111
|
+
const symbols = await this.crossDimensionApi.getSymbolsForModule(module.file_path, pluginId);
|
|
112
|
+
for (const symbolRef of symbols) {
|
|
113
|
+
related.push({ entityRef: symbolRef, relationship: 'contains' });
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
case 'Y': {
|
|
119
|
+
// Symbol → Module
|
|
120
|
+
const symbol = await this.symbolApi.getSymbolById(entityRef.external_id, pluginId);
|
|
121
|
+
if (symbol) {
|
|
122
|
+
const moduleRef = await this.crossDimensionApi.resolveSymbolToModule(entityRef.external_id, pluginId);
|
|
123
|
+
if (moduleRef) {
|
|
124
|
+
related.push({ entityRef: moduleRef, relationship: 'belongs_to' });
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
case 'Z': {
|
|
130
|
+
// Dependency → From/To Modules
|
|
131
|
+
const dependency = await this.dependencyApi.getDependencyById(entityRef.entity_id, pluginId);
|
|
132
|
+
if (dependency) {
|
|
133
|
+
const fromModule = await this.moduleApi.getModuleByPath(dependency.from_module, pluginId);
|
|
134
|
+
const toModule = await this.moduleApi.getModuleByPath(dependency.to_module, pluginId);
|
|
135
|
+
if (fromModule) {
|
|
136
|
+
related.push({
|
|
137
|
+
entityRef: {
|
|
138
|
+
dimension: 'X',
|
|
139
|
+
entity_id: fromModule.id,
|
|
140
|
+
external_id: fromModule.file_path
|
|
141
|
+
},
|
|
142
|
+
relationship: 'from_module'
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
if (toModule) {
|
|
146
|
+
related.push({
|
|
147
|
+
entityRef: {
|
|
148
|
+
dimension: 'X',
|
|
149
|
+
entity_id: toModule.id,
|
|
150
|
+
external_id: toModule.file_path
|
|
151
|
+
},
|
|
152
|
+
relationship: 'to_module'
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
case 'W': {
|
|
159
|
+
// ADR → Referenced Files
|
|
160
|
+
const adr = await this.adrApi.getAdrByNumber(entityRef.external_id, pluginId);
|
|
161
|
+
if (adr) {
|
|
162
|
+
const fileAdrs = await this.adrApi.getAdrsByFilePath('', pluginId); // Get all for now
|
|
163
|
+
// Filter by ADR file mappings would be better, but this is a start
|
|
164
|
+
}
|
|
165
|
+
break;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return related;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Gets relevant ADRs for an entity.
|
|
172
|
+
*/
|
|
173
|
+
async getRelevantAdrs(entityRef, pluginId) {
|
|
174
|
+
const adrs = [];
|
|
175
|
+
// Get navigation metadata for related ADRs
|
|
176
|
+
// Only for X, Y, Z, W, T dimensions (not V)
|
|
177
|
+
if (entityRef.dimension === 'V') {
|
|
178
|
+
return [];
|
|
179
|
+
}
|
|
180
|
+
const db = await this.dbManager.getDatabase('V');
|
|
181
|
+
const navRepo = new navigation_repository_1.NavigationRepository(db);
|
|
182
|
+
const metadata = await navRepo.getByEntity(entityRef.dimension, entityRef.entity_id, pluginId);
|
|
183
|
+
if (metadata && metadata.related_adrs) {
|
|
184
|
+
try {
|
|
185
|
+
const adrNumbers = JSON.parse(metadata.related_adrs);
|
|
186
|
+
for (const adrNumber of adrNumbers) {
|
|
187
|
+
const adr = await this.adrApi.getAdrByNumber(adrNumber, pluginId);
|
|
188
|
+
if (adr) {
|
|
189
|
+
adrs.push({
|
|
190
|
+
adr_number: adr.adr_number,
|
|
191
|
+
title: adr.title,
|
|
192
|
+
content_preview: adr.content_markdown.substring(0, 500)
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
catch (error) {
|
|
198
|
+
console.warn(`[ContextBuilder] Failed to parse related ADRs: ${error}`);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
return adrs;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Gets dependencies for an entity.
|
|
205
|
+
*/
|
|
206
|
+
async getDependencies(entityRef, pluginId) {
|
|
207
|
+
const dependencies = [];
|
|
208
|
+
switch (entityRef.dimension) {
|
|
209
|
+
case 'X': {
|
|
210
|
+
// Module dependencies
|
|
211
|
+
const module = await this.moduleApi.getModuleById(entityRef.entity_id, pluginId);
|
|
212
|
+
if (module) {
|
|
213
|
+
const deps = await this.dependencyApi.getDependenciesByFromModule(module.file_path, pluginId);
|
|
214
|
+
for (const dep of deps) {
|
|
215
|
+
dependencies.push({
|
|
216
|
+
from: dep.from_module,
|
|
217
|
+
to: dep.to_module,
|
|
218
|
+
type: dep.dependency_type
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
break;
|
|
223
|
+
}
|
|
224
|
+
case 'Z': {
|
|
225
|
+
// Dependency itself
|
|
226
|
+
const dependency = await this.dependencyApi.getDependencyById(entityRef.entity_id, pluginId);
|
|
227
|
+
if (dependency) {
|
|
228
|
+
dependencies.push({
|
|
229
|
+
from: dependency.from_module,
|
|
230
|
+
to: dependency.to_module,
|
|
231
|
+
type: dependency.dependency_type
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
break;
|
|
235
|
+
}
|
|
236
|
+
case 'Y':
|
|
237
|
+
case 'W':
|
|
238
|
+
case 'T':
|
|
239
|
+
// No dependencies for these dimensions
|
|
240
|
+
break;
|
|
241
|
+
}
|
|
242
|
+
return dependencies;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Gets entry points for the system.
|
|
246
|
+
*/
|
|
247
|
+
async getEntryPoints(pluginId) {
|
|
248
|
+
const db = await this.dbManager.getDatabase('V');
|
|
249
|
+
const navRepo = new navigation_repository_1.NavigationRepository(db);
|
|
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
|
+
}));
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Deduplicates ADRs by adr_number.
|
|
259
|
+
*/
|
|
260
|
+
deduplicateAdrs(adrs) {
|
|
261
|
+
const seen = new Set();
|
|
262
|
+
const unique = [];
|
|
263
|
+
for (const adr of adrs) {
|
|
264
|
+
if (!seen.has(adr.adr_number)) {
|
|
265
|
+
seen.add(adr.adr_number);
|
|
266
|
+
unique.push(adr);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
return unique;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Deduplicates dependencies by from+to+type.
|
|
273
|
+
*/
|
|
274
|
+
deduplicateDependencies(deps) {
|
|
275
|
+
const seen = new Set();
|
|
276
|
+
const unique = [];
|
|
277
|
+
for (const dep of deps) {
|
|
278
|
+
const key = `${dep.from}→${dep.to}[${dep.type}]`;
|
|
279
|
+
if (!seen.has(key)) {
|
|
280
|
+
seen.add(key);
|
|
281
|
+
unique.push(dep);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
return unique;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
exports.ContextBuilder = ContextBuilder;
|
|
288
|
+
//# sourceMappingURL=context-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-builder.js","sourceRoot":"","sources":["../../src/api/context-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { MultiDbManager } from '../core/multi-db-manager';
|
|
2
|
+
import { IdMapper } from '../core/id-mapper';
|
|
3
|
+
import { EntityReference } from '../models/entity-reference';
|
|
4
|
+
/**
|
|
5
|
+
* API for cross-dimension queries.
|
|
6
|
+
* Combines data from multiple dimensions.
|
|
7
|
+
*/
|
|
8
|
+
export declare class CrossDimensionApi {
|
|
9
|
+
private dbManager;
|
|
10
|
+
private idMapper;
|
|
11
|
+
private linker;
|
|
12
|
+
private systemBuilder;
|
|
13
|
+
constructor(dbManager: MultiDbManager, idMapper: IdMapper);
|
|
14
|
+
/**
|
|
15
|
+
* Resolves a symbol ID to its module reference.
|
|
16
|
+
*/
|
|
17
|
+
resolveSymbolToModule(symbolId: string, pluginId: string): Promise<EntityReference | null>;
|
|
18
|
+
/**
|
|
19
|
+
* Gets all ADRs that reference a specific file path.
|
|
20
|
+
*/
|
|
21
|
+
getAdrsForFilePath(filePath: string, pluginId: string): Promise<EntityReference[]>;
|
|
22
|
+
/**
|
|
23
|
+
* Gets all symbols for a module.
|
|
24
|
+
*/
|
|
25
|
+
getSymbolsForModule(filePath: string, pluginId: string): Promise<EntityReference[]>;
|
|
26
|
+
/**
|
|
27
|
+
* Builds a module dependency graph.
|
|
28
|
+
*/
|
|
29
|
+
buildModuleDependencyGraph(pluginId: string): Promise<Map<string, string[]>>;
|
|
30
|
+
/**
|
|
31
|
+
* Builds a symbol dependency tree for a file.
|
|
32
|
+
*/
|
|
33
|
+
buildSymbolDependencyTree(filePath: string, pluginId: string): Promise<Map<string, string[]>>;
|
|
34
|
+
/**
|
|
35
|
+
* Builds an architectural view combining modules, ADRs, and dependencies.
|
|
36
|
+
*/
|
|
37
|
+
buildArchitecturalView(pluginId: string): Promise<Array<{
|
|
38
|
+
module: any;
|
|
39
|
+
adrs: any[];
|
|
40
|
+
dependencies: any[];
|
|
41
|
+
}>>;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=cross-dimension-api.d.ts.map
|