sdlc-agent-4-enterprise-server 1.38.0 → 1.42.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/.code-intel/database.example.json +27 -0
- package/.env.example +38 -0
- package/.lintstagedrc.json +3 -0
- package/Dockerfile +41 -3
- package/README.md +3 -2
- package/dist/admin/db/core.d.ts +2 -2
- package/dist/admin/db/core.js +27 -4
- package/dist/admin/db/core.js.map +1 -1
- package/dist/admin/db/schema.js +21 -9
- package/dist/admin/db/schema.js.map +1 -1
- package/dist/admin/types/rbac.types.d.ts +1 -1
- package/dist/config/SandboxConfig.d.ts +97 -0
- package/dist/config/SandboxConfig.js +67 -0
- package/dist/config/SandboxConfig.js.map +1 -0
- package/dist/config/index.d.ts +104 -0
- package/dist/config/index.js +8 -1
- package/dist/config/index.js.map +1 -1
- package/dist/database/adapters/SqliteAdapter.d.ts +13 -4
- package/dist/database/adapters/SqliteAdapter.js +165 -32
- package/dist/database/adapters/SqliteAdapter.js.map +1 -1
- package/dist/database/adapters/SqliteAsyncAdapter.d.ts +5 -5
- package/dist/database/adapters/SqliteAsyncAdapter.js +40 -13
- package/dist/database/adapters/SqliteAsyncAdapter.js.map +1 -1
- package/dist/database/config/DatabaseConfigService.d.ts +19 -5
- package/dist/database/config/DatabaseConfigService.js +26 -3
- package/dist/database/config/DatabaseConfigService.js.map +1 -1
- package/dist/database/migration/ensure-pega-category-counters.d.ts +8 -0
- package/dist/database/migration/ensure-pega-category-counters.js +29 -0
- package/dist/database/migration/ensure-pega-category-counters.js.map +1 -0
- package/dist/database/migration/migrate-pega-category-counters.d.ts +10 -0
- package/dist/database/migration/migrate-pega-category-counters.js +32 -0
- package/dist/database/migration/migrate-pega-category-counters.js.map +1 -0
- package/dist/database/models/file-checksum.d.ts +12 -0
- package/dist/database/models/file-checksum.js +6 -0
- package/dist/database/models/file-checksum.js.map +1 -0
- package/dist/database/models/index-operation.d.ts +17 -0
- package/dist/database/models/index-operation.js +6 -0
- package/dist/database/models/index-operation.js.map +1 -0
- package/dist/database/repositories/FileChecksumRepository.d.ts +25 -0
- package/dist/database/repositories/FileChecksumRepository.js +74 -0
- package/dist/database/repositories/FileChecksumRepository.js.map +1 -0
- package/dist/database/repositories/IndexOperationRepository.d.ts +46 -0
- package/dist/database/repositories/IndexOperationRepository.js +149 -0
- package/dist/database/repositories/IndexOperationRepository.js.map +1 -0
- package/dist/database/repositories/SymbolRepository.js +4 -2
- package/dist/database/repositories/SymbolRepository.js.map +1 -1
- package/dist/database/schema-registry/ensure-sa4e-101.d.ts +10 -0
- package/dist/database/schema-registry/ensure-sa4e-101.js +61 -0
- package/dist/database/schema-registry/ensure-sa4e-101.js.map +1 -0
- package/dist/database/schema-registry/ensure-sa4e-215.d.ts +2 -0
- package/dist/database/schema-registry/ensure-sa4e-215.js +74 -0
- package/dist/database/schema-registry/ensure-sa4e-215.js.map +1 -0
- package/dist/database/schema-registry/ensure-sa4e-237.d.ts +14 -0
- package/dist/database/schema-registry/ensure-sa4e-237.js +53 -0
- package/dist/database/schema-registry/ensure-sa4e-237.js.map +1 -0
- package/dist/database/schema-registry/ensure-sa4e-300.d.ts +8 -0
- package/dist/database/schema-registry/ensure-sa4e-300.js +30 -0
- package/dist/database/schema-registry/ensure-sa4e-300.js.map +1 -0
- package/dist/database/schema-registry/ensure-sa4e-301.d.ts +5 -0
- package/dist/database/schema-registry/ensure-sa4e-301.js +37 -0
- package/dist/database/schema-registry/ensure-sa4e-301.js.map +1 -0
- package/dist/database/schema-registry/ensure-sa4e-302.d.ts +1 -0
- package/dist/database/schema-registry/ensure-sa4e-302.js +20 -0
- package/dist/database/schema-registry/ensure-sa4e-302.js.map +1 -0
- package/dist/database/schema-registry/ensure-sa4e-303.d.ts +5 -0
- package/dist/database/schema-registry/ensure-sa4e-303.js +20 -0
- package/dist/database/schema-registry/ensure-sa4e-303.js.map +1 -0
- package/dist/database/schema-registry/sa4e-215.d.ts +33 -0
- package/dist/database/schema-registry/sa4e-215.js +98 -0
- package/dist/database/schema-registry/sa4e-215.js.map +1 -0
- package/dist/di/Container.js +1 -1
- package/dist/di/Container.js.map +1 -1
- package/dist/engine/db/database-manager.d.ts +4 -3
- package/dist/engine/db/database-manager.js +2 -2
- package/dist/engine/db/database-manager.js.map +1 -1
- package/dist/engine/db/migration-v5.js +24 -5
- package/dist/engine/db/migration-v5.js.map +1 -1
- package/dist/engine/enrichment/CodeEnrichmentHandler.d.ts +2 -6
- package/dist/engine/enrichment/CodeEnrichmentHandler.js +52 -85
- package/dist/engine/enrichment/CodeEnrichmentHandler.js.map +1 -1
- package/dist/engine/enrichment/CodeEnrichmentPromptBuilder.d.ts +3 -0
- package/dist/engine/enrichment/CodeEnrichmentPromptBuilder.js +62 -11
- package/dist/engine/enrichment/CodeEnrichmentPromptBuilder.js.map +1 -1
- package/dist/engine/enrichment/CodeEnrichmentTaskCreator.js +17 -3
- package/dist/engine/enrichment/CodeEnrichmentTaskCreator.js.map +1 -1
- package/dist/engine/enrichment/types.d.ts +5 -1
- package/dist/engine/enrichment/types.js.map +1 -1
- package/dist/engine/graph/code-edge-extractor.d.ts +7 -6
- package/dist/engine/graph/code-edge-extractor.js +74 -34
- package/dist/engine/graph/code-edge-extractor.js.map +1 -1
- package/dist/engine/graph/graph-sync-service.d.ts +0 -6
- package/dist/engine/graph/graph-sync-service.js +5 -53
- package/dist/engine/graph/graph-sync-service.js.map +1 -1
- package/dist/engine/indexer/async-file-scanner.js +10 -4
- package/dist/engine/indexer/async-file-scanner.js.map +1 -1
- package/dist/engine/indexer/checksum-service.d.ts +21 -0
- package/dist/engine/indexer/checksum-service.js +54 -0
- package/dist/engine/indexer/checksum-service.js.map +1 -0
- package/dist/engine/indexer/cleanup-scheduler.d.ts +14 -0
- package/dist/engine/indexer/cleanup-scheduler.js +56 -0
- package/dist/engine/indexer/cleanup-scheduler.js.map +1 -0
- package/dist/engine/indexer/file-scanner.d.ts +7 -0
- package/dist/engine/indexer/file-scanner.js +43 -15
- package/dist/engine/indexer/file-scanner.js.map +1 -1
- package/dist/engine/indexer/index-operation-manager.d.ts +57 -30
- package/dist/engine/indexer/index-operation-manager.js +234 -70
- package/dist/engine/indexer/index-operation-manager.js.map +1 -1
- package/dist/engine/indexer/index-scope.d.ts +7 -0
- package/dist/engine/indexer/index-scope.js +1 -0
- package/dist/engine/indexer/index-scope.js.map +1 -1
- package/dist/engine/indexer/indexing-engine.d.ts +5 -2
- package/dist/engine/indexer/indexing-engine.js +63 -14
- package/dist/engine/indexer/indexing-engine.js.map +1 -1
- package/dist/engine/indexer/module-helper.js +40 -8
- package/dist/engine/indexer/module-helper.js.map +1 -1
- package/dist/engine/indexer/path-safety.d.ts +22 -0
- package/dist/engine/indexer/path-safety.js +45 -0
- package/dist/engine/indexer/path-safety.js.map +1 -0
- package/dist/engine/indexer/project-type/models.d.ts +2 -2
- package/dist/engine/indexer/project-type/resolver.d.ts +2 -0
- package/dist/engine/indexer/project-type/resolver.js +6 -1
- package/dist/engine/indexer/project-type/resolver.js.map +1 -1
- package/dist/engine/indexer/startup-interrupt-detector.d.ts +9 -0
- package/dist/engine/indexer/startup-interrupt-detector.js +31 -0
- package/dist/engine/indexer/startup-interrupt-detector.js.map +1 -0
- package/dist/engine/indexer/types.d.ts +25 -4
- package/dist/engine/indexer/types.js +1 -1
- package/dist/engine/parsers/embedding/EmbeddingService.d.ts +3 -7
- package/dist/engine/parsers/embedding/EmbeddingService.js +21 -25
- package/dist/engine/parsers/embedding/EmbeddingService.js.map +1 -1
- package/dist/engine/parsers/grammar-registry.d.ts +1 -0
- package/dist/engine/parsers/grammar-registry.js +4 -2
- package/dist/engine/parsers/grammar-registry.js.map +1 -1
- package/dist/engine/parsers/grammars/config-schema.json +1 -0
- package/dist/engine/parsers/grammars/grammar-config-loader.d.ts +1 -0
- package/dist/engine/parsers/grammars/grammar-config-loader.js +1 -1
- package/dist/engine/parsers/grammars/grammar-config-loader.js.map +1 -1
- package/dist/engine/parsers/grammars/grammar-config-loader.ts +195 -0
- package/dist/engine/parsers/grammars/tree-sitter-apex.wasm +0 -0
- package/dist/engine/parsers/grammars/tree-sitter-c-sharp.wasm +0 -0
- package/dist/engine/parsers/grammars/tree-sitter-c.wasm +0 -0
- package/dist/engine/parsers/grammars/tree-sitter-cpp.wasm +0 -0
- package/dist/engine/parsers/grammars/tree-sitter-go.wasm +0 -0
- package/dist/engine/parsers/grammars/tree-sitter-java.wasm +0 -0
- package/dist/engine/parsers/grammars/tree-sitter-javascript.wasm +0 -0
- package/dist/engine/parsers/grammars/tree-sitter-kotlin.wasm +0 -0
- package/dist/engine/parsers/grammars/tree-sitter-php.wasm +0 -0
- package/dist/engine/parsers/grammars/tree-sitter-python.wasm +0 -0
- package/dist/engine/parsers/grammars/tree-sitter-ruby.wasm +0 -0
- package/dist/engine/parsers/grammars/tree-sitter-rust.wasm +0 -0
- package/dist/engine/parsers/grammars/tree-sitter-scala.wasm +0 -0
- package/dist/engine/parsers/grammars/tree-sitter-swift.wasm +0 -0
- package/dist/engine/parsers/grammars/tree-sitter-typescript.wasm +0 -0
- package/dist/engine/parsers/grammars/typescript.grammar.json +67 -0
- package/dist/engine/parsers/indexer/storage.js +11 -3
- package/dist/engine/parsers/indexer/storage.js.map +1 -1
- package/dist/engine/parsers/languages/apex/declarations.js +2 -2
- package/dist/engine/parsers/languages/apex/declarations.js.map +1 -1
- package/dist/engine/parsers/languages/apex/triggers.js +1 -1
- package/dist/engine/parsers/languages/apex/triggers.js.map +1 -1
- package/dist/engine/parsers/languages/aura/index.d.ts +1 -0
- package/dist/engine/parsers/languages/aura/index.js +2 -0
- package/dist/engine/parsers/languages/aura/index.js.map +1 -0
- package/dist/engine/parsers/languages/aura/parser.d.ts +7 -0
- package/dist/engine/parsers/languages/aura/parser.js +33 -0
- package/dist/engine/parsers/languages/aura/parser.js.map +1 -0
- package/dist/engine/parsers/languages/aura-parser.d.ts +1 -0
- package/dist/engine/parsers/languages/aura-parser.js +2 -0
- package/dist/engine/parsers/languages/aura-parser.js.map +1 -0
- package/dist/engine/parsers/languages/bash.d.ts +8 -0
- package/dist/engine/parsers/languages/bash.js +13 -0
- package/dist/engine/parsers/languages/bash.js.map +1 -0
- package/dist/engine/parsers/languages/builtin.d.ts +14 -0
- package/dist/engine/parsers/languages/builtin.js +51 -0
- package/dist/engine/parsers/languages/builtin.js.map +1 -0
- package/dist/engine/parsers/languages/c-parser.d.ts +3 -0
- package/dist/engine/parsers/languages/c-parser.js +15 -0
- package/dist/engine/parsers/languages/c-parser.js.map +1 -0
- package/dist/engine/parsers/languages/c.d.ts +6 -0
- package/dist/engine/parsers/languages/c.js +13 -0
- package/dist/engine/parsers/languages/c.js.map +1 -0
- package/dist/engine/parsers/languages/cpp-parser.d.ts +3 -0
- package/dist/engine/parsers/languages/cpp-parser.js +16 -0
- package/dist/engine/parsers/languages/cpp-parser.js.map +1 -0
- package/dist/engine/parsers/languages/cpp.d.ts +8 -0
- package/dist/engine/parsers/languages/cpp.js +15 -0
- package/dist/engine/parsers/languages/cpp.js.map +1 -0
- package/dist/engine/parsers/languages/csharp-parser.d.ts +3 -0
- package/dist/engine/parsers/languages/csharp-parser.js +17 -0
- package/dist/engine/parsers/languages/csharp-parser.js.map +1 -0
- package/dist/engine/parsers/languages/csharp.d.ts +10 -0
- package/dist/engine/parsers/languages/csharp.js +20 -0
- package/dist/engine/parsers/languages/csharp.js.map +1 -0
- package/dist/engine/parsers/languages/generic-tree-sitter-parser.d.ts +23 -0
- package/dist/engine/parsers/languages/generic-tree-sitter-parser.js +152 -0
- package/dist/engine/parsers/languages/generic-tree-sitter-parser.js.map +1 -0
- package/dist/engine/parsers/languages/index.d.ts +8 -0
- package/dist/engine/parsers/languages/index.js +32 -0
- package/dist/engine/parsers/languages/index.js.map +1 -0
- package/dist/engine/parsers/languages/lwc-html-parser.d.ts +7 -0
- package/dist/engine/parsers/languages/lwc-html-parser.js +32 -0
- package/dist/engine/parsers/languages/lwc-html-parser.js.map +1 -0
- package/dist/engine/parsers/languages/php-parser.d.ts +3 -0
- package/dist/engine/parsers/languages/php-parser.js +16 -0
- package/dist/engine/parsers/languages/php-parser.js.map +1 -0
- package/dist/engine/parsers/languages/php.d.ts +8 -0
- package/dist/engine/parsers/languages/php.js +15 -0
- package/dist/engine/parsers/languages/php.js.map +1 -0
- package/dist/engine/parsers/languages/powershell.d.ts +12 -0
- package/dist/engine/parsers/languages/powershell.js +20 -0
- package/dist/engine/parsers/languages/powershell.js.map +1 -0
- package/dist/engine/parsers/languages/ruby-parser.d.ts +3 -0
- package/dist/engine/parsers/languages/ruby-parser.js +15 -0
- package/dist/engine/parsers/languages/ruby-parser.js.map +1 -0
- package/dist/engine/parsers/languages/ruby.d.ts +8 -0
- package/dist/engine/parsers/languages/ruby.js +15 -0
- package/dist/engine/parsers/languages/ruby.js.map +1 -0
- package/dist/engine/parsers/languages/salesforce-markup/shared.d.ts +32 -0
- package/dist/engine/parsers/languages/salesforce-markup/shared.js +60 -0
- package/dist/engine/parsers/languages/salesforce-markup/shared.js.map +1 -0
- package/dist/engine/parsers/languages/salesforce-meta/detectMetaType.d.ts +7 -0
- package/dist/engine/parsers/languages/salesforce-meta/detectMetaType.js +50 -0
- package/dist/engine/parsers/languages/salesforce-meta/detectMetaType.js.map +1 -0
- package/dist/engine/parsers/languages/salesforce-meta/helpers.d.ts +19 -0
- package/dist/engine/parsers/languages/salesforce-meta/helpers.js +33 -1
- package/dist/engine/parsers/languages/salesforce-meta/helpers.js.map +1 -1
- package/dist/engine/parsers/languages/salesforce-meta/parser.js +144 -23
- package/dist/engine/parsers/languages/salesforce-meta/parser.js.map +1 -1
- package/dist/engine/parsers/languages/salesforce-meta/parsers/aura.d.ts +2 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/aura.js +7 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/aura.js.map +1 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/dashboard.d.ts +2 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/dashboard.js +7 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/dashboard.js.map +1 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/email.d.ts +2 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/email.js +7 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/email.js.map +1 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/field.d.ts +2 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/field.js +14 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/field.js.map +1 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/flexipage.d.ts +2 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/flexipage.js +7 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/flexipage.js.map +1 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/flow.d.ts +2 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/flow.js +42 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/flow.js.map +1 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/index.d.ts +17 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/index.js +19 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/index.js.map +1 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/labels.d.ts +2 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/labels.js +15 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/labels.js.map +1 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/layout.d.ts +2 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/layout.js +7 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/layout.js.map +1 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/lwc.d.ts +2 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/lwc.js +13 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/lwc.js.map +1 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/object.d.ts +2 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/object.js +26 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/object.js.map +1 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/permissionset.d.ts +2 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/permissionset.js +7 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/permissionset.js.map +1 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/profile.d.ts +2 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/profile.js +7 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/profile.js.map +1 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/report.d.ts +2 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/report.js +7 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/report.js.map +1 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/resource.d.ts +2 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/resource.js +7 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/resource.js.map +1 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/site.d.ts +2 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/site.js +7 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/site.js.map +1 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/tab.d.ts +2 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/tab.js +7 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/tab.js.map +1 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/testSuite.d.ts +2 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/testSuite.js +7 -0
- package/dist/engine/parsers/languages/salesforce-meta/parsers/testSuite.js.map +1 -0
- package/dist/engine/parsers/languages/scala-parser.d.ts +3 -0
- package/dist/engine/parsers/languages/scala-parser.js +17 -0
- package/dist/engine/parsers/languages/scala-parser.js.map +1 -0
- package/dist/engine/parsers/languages/scala.d.ts +6 -0
- package/dist/engine/parsers/languages/scala.js +13 -0
- package/dist/engine/parsers/languages/scala.js.map +1 -0
- package/dist/engine/parsers/languages/swift-parser.d.ts +3 -0
- package/dist/engine/parsers/languages/swift-parser.js +15 -0
- package/dist/engine/parsers/languages/swift-parser.js.map +1 -0
- package/dist/engine/parsers/languages/swift.d.ts +11 -0
- package/dist/engine/parsers/languages/swift.js +21 -0
- package/dist/engine/parsers/languages/swift.js.map +1 -0
- package/dist/engine/parsers/languages/ts-symbol-extractor/members.js +55 -1
- package/dist/engine/parsers/languages/ts-symbol-extractor/members.js.map +1 -1
- package/dist/engine/parsers/languages/types.d.ts +1 -0
- package/dist/engine/parsers/languages/types.js +2 -0
- package/dist/engine/parsers/languages/types.js.map +1 -0
- package/dist/engine/parsers/languages/visualforce/index.d.ts +1 -0
- package/dist/engine/parsers/languages/visualforce/index.js +2 -0
- package/dist/engine/parsers/languages/visualforce/index.js.map +1 -0
- package/dist/engine/parsers/languages/visualforce/parser.d.ts +7 -0
- package/dist/engine/parsers/languages/visualforce/parser.js +25 -0
- package/dist/engine/parsers/languages/visualforce/parser.js.map +1 -0
- package/dist/engine/parsers/languages/visualforce-parser.d.ts +1 -0
- package/dist/engine/parsers/languages/visualforce-parser.js +2 -0
- package/dist/engine/parsers/languages/visualforce-parser.js.map +1 -0
- package/dist/engine/parsers/signature-extractor.d.ts +9 -0
- package/dist/engine/parsers/signature-extractor.js +18 -48
- package/dist/engine/parsers/signature-extractor.js.map +1 -1
- package/dist/engine/parsers/tree-sitter-indexer.d.ts +9 -1
- package/dist/engine/parsers/tree-sitter-indexer.js +48 -3
- package/dist/engine/parsers/tree-sitter-indexer.js.map +1 -1
- package/dist/engine/parsers/types.d.ts +2 -2
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -1
- package/dist/knowledge/KnowledgeDb.d.ts +1 -1
- package/dist/knowledge/KnowledgeDb.js +5 -12
- package/dist/knowledge/KnowledgeDb.js.map +1 -1
- package/dist/knowledge/routes.d.ts +4 -1
- package/dist/knowledge/routes.js +12 -5
- package/dist/knowledge/routes.js.map +1 -1
- package/dist/models/pega-schema.models.d.ts +111 -81
- package/dist/models/pega-schema.models.js +4 -0
- package/dist/models/pega-schema.models.js.map +1 -1
- package/dist/modules/ModuleFactory.js +3 -0
- package/dist/modules/ModuleFactory.js.map +1 -1
- package/dist/modules/kb-graph/service/constants.d.ts +15 -0
- package/dist/modules/kb-graph/service/constants.js +35 -17
- package/dist/modules/kb-graph/service/constants.js.map +1 -1
- package/dist/modules/kb-graph/service/index.d.ts +1 -1
- package/dist/modules/kb-graph/service/index.js +1 -1
- package/dist/modules/kb-graph/service/index.js.map +1 -1
- package/dist/modules/kb-graph/service/sync.js +2 -2
- package/dist/modules/kb-graph/service/sync.js.map +1 -1
- package/dist/modules/memory/IsolationLayer.js +13 -7
- package/dist/modules/memory/IsolationLayer.js.map +1 -1
- package/dist/modules/memory/MemoryDb.js +1 -1
- package/dist/modules/memory/MemoryDb.js.map +1 -1
- package/dist/modules/memory/dispatchers/crud.js +28 -0
- package/dist/modules/memory/dispatchers/crud.js.map +1 -1
- package/dist/modules/memory/dispatchers/graph-fallback.d.ts +2 -1
- package/dist/modules/memory/dispatchers/graph-fallback.js +9 -6
- package/dist/modules/memory/dispatchers/graph-fallback.js.map +1 -1
- package/dist/modules/memory/engine/crud.js +8 -17
- package/dist/modules/memory/engine/crud.js.map +1 -1
- package/dist/modules/memory/engine/edge-on-ingest.d.ts +17 -14
- package/dist/modules/memory/engine/edge-on-ingest.js +55 -25
- package/dist/modules/memory/engine/edge-on-ingest.js.map +1 -1
- package/dist/modules/memory/migrations/003-pending-tasks.js +5 -0
- package/dist/modules/memory/migrations/003-pending-tasks.js.map +1 -1
- package/dist/modules/memory/pega-concept-retriever.d.ts +38 -0
- package/dist/modules/memory/pega-concept-retriever.js +54 -0
- package/dist/modules/memory/pega-concept-retriever.js.map +1 -0
- package/dist/modules/memory/task-queue/PendingTaskRepository.d.ts +7 -0
- package/dist/modules/memory/task-queue/PendingTaskRepository.js +22 -5
- package/dist/modules/memory/task-queue/PendingTaskRepository.js.map +1 -1
- package/dist/modules/memory/task-queue/SqliteDbAdapter.d.ts +1 -2
- package/dist/modules/memory/task-queue/SqliteDbAdapter.js.map +1 -1
- package/dist/modules/memory/task-queue/TaskWorker.d.ts +2 -0
- package/dist/modules/memory/task-queue/TaskWorker.js +10 -0
- package/dist/modules/memory/task-queue/TaskWorker.js.map +1 -1
- package/dist/modules/memory/task-queue/models.d.ts +12 -0
- package/dist/modules/memory/task-queue/models.js +11 -0
- package/dist/modules/memory/task-queue/models.js.map +1 -1
- package/dist/modules/orchestration/McpClientManager.d.ts +8 -0
- package/dist/modules/orchestration/McpClientManager.js +13 -0
- package/dist/modules/orchestration/McpClientManager.js.map +1 -1
- package/dist/modules/orchestration/OrchestrationModule.js +7 -0
- package/dist/modules/orchestration/OrchestrationModule.js.map +1 -1
- package/dist/modules/pega/ChecksumStore.d.ts +32 -0
- package/dist/modules/pega/ChecksumStore.js +53 -0
- package/dist/modules/pega/ChecksumStore.js.map +1 -0
- package/dist/modules/pega/DiskBackedSet.d.ts +189 -0
- package/dist/modules/pega/DiskBackedSet.js +422 -0
- package/dist/modules/pega/DiskBackedSet.js.map +1 -0
- package/dist/modules/pega/PegaCaseTypeExtractor.d.ts +12 -0
- package/dist/modules/pega/PegaCaseTypeExtractor.js +76 -0
- package/dist/modules/pega/PegaCaseTypeExtractor.js.map +1 -0
- package/dist/modules/pega/PegaContentExtractor.d.ts +17 -1
- package/dist/modules/pega/PegaContentExtractor.js +56 -53
- package/dist/modules/pega/PegaContentExtractor.js.map +1 -1
- package/dist/modules/pega/PegaExprAnnotator.d.ts +30 -0
- package/dist/modules/pega/PegaExprAnnotator.js +64 -0
- package/dist/modules/pega/PegaExprAnnotator.js.map +1 -0
- package/dist/modules/pega/PegaFlowExtractor.d.ts +12 -0
- package/dist/modules/pega/PegaFlowExtractor.js +107 -0
- package/dist/modules/pega/PegaFlowExtractor.js.map +1 -0
- package/dist/modules/pega/PegaHashCache.d.ts +9 -0
- package/dist/modules/pega/PegaHashCache.js +18 -0
- package/dist/modules/pega/PegaHashCache.js.map +1 -1
- package/dist/modules/pega/PegaIndexer.js +37 -5
- package/dist/modules/pega/PegaIndexer.js.map +1 -1
- package/dist/modules/pega/PegaIndexerTool.js +7 -1
- package/dist/modules/pega/PegaIndexerTool.js.map +1 -1
- package/dist/modules/pega/PegaKbSync.js +9 -1
- package/dist/modules/pega/PegaKbSync.js.map +1 -1
- package/dist/modules/pega/PegaNestedLogicExtractor.d.ts +22 -0
- package/dist/modules/pega/PegaNestedLogicExtractor.js +73 -0
- package/dist/modules/pega/PegaNestedLogicExtractor.js.map +1 -0
- package/dist/modules/pega/PegaParser.d.ts +12 -0
- package/dist/modules/pega/PegaParser.js +17 -0
- package/dist/modules/pega/PegaParser.js.map +1 -1
- package/dist/modules/pega/PegaRuleAstParser.js +18 -4
- package/dist/modules/pega/PegaRuleAstParser.js.map +1 -1
- package/dist/modules/pega/PegaService.d.ts +7 -0
- package/dist/modules/pega/PegaService.js +35 -8
- package/dist/modules/pega/PegaService.js.map +1 -1
- package/dist/modules/pega/PegaSymbolSync.d.ts +16 -1
- package/dist/modules/pega/PegaSymbolSync.js +75 -16
- package/dist/modules/pega/PegaSymbolSync.js.map +1 -1
- package/dist/modules/pega/declare/PegaDeclareParser.d.ts +1 -2
- package/dist/modules/pega/declare/PegaDeclareParser.js +7 -9
- package/dist/modules/pega/declare/PegaDeclareParser.js.map +1 -1
- package/dist/modules/pega/declare/PegaDeclareTypes.d.ts +2 -2
- package/dist/modules/pega/discovery/PegaCodeIntelClient.d.ts +36 -0
- package/dist/modules/pega/discovery/PegaCodeIntelClient.js +79 -0
- package/dist/modules/pega/discovery/PegaCodeIntelClient.js.map +1 -0
- package/dist/modules/pega/discovery/PegaServiceDiscovery.d.ts +60 -0
- package/dist/modules/pega/discovery/PegaServiceDiscovery.js +118 -0
- package/dist/modules/pega/discovery/PegaServiceDiscovery.js.map +1 -0
- package/dist/modules/pega/discovery/PegaServiceMethodLinker.d.ts +22 -0
- package/dist/modules/pega/discovery/PegaServiceMethodLinker.js +132 -0
- package/dist/modules/pega/discovery/PegaServiceMethodLinker.js.map +1 -0
- package/dist/modules/pega/discovery/index.d.ts +6 -0
- package/dist/modules/pega/discovery/index.js +4 -0
- package/dist/modules/pega/discovery/index.js.map +1 -0
- package/dist/modules/pega/expression/ExprNodeEvaluator.d.ts +41 -0
- package/dist/modules/pega/expression/ExprNodeEvaluator.js +94 -0
- package/dist/modules/pega/expression/ExprNodeEvaluator.js.map +1 -0
- package/dist/modules/pega/expression/ExprNodeValidator.d.ts +39 -0
- package/dist/modules/pega/expression/ExprNodeValidator.js +71 -0
- package/dist/modules/pega/expression/ExprNodeValidator.js.map +1 -0
- package/dist/modules/pega/expression/ExprOperators.d.ts +31 -0
- package/dist/modules/pega/expression/ExprOperators.js +89 -0
- package/dist/modules/pega/expression/ExprOperators.js.map +1 -0
- package/dist/modules/pega/expression/ExprReferenceResolver.d.ts +21 -0
- package/dist/modules/pega/expression/ExprReferenceResolver.js +40 -0
- package/dist/modules/pega/expression/ExprReferenceResolver.js.map +1 -0
- package/dist/modules/pega/expression/PegaConstraintEvaluator.d.ts +0 -1
- package/dist/modules/pega/expression/PegaConstraintEvaluator.js +3 -4
- package/dist/modules/pega/expression/PegaConstraintEvaluator.js.map +1 -1
- package/dist/modules/pega/expression/PegaExpressionAst.d.ts +29 -59
- package/dist/modules/pega/expression/PegaExpressionAst.js +27 -100
- package/dist/modules/pega/expression/PegaExpressionAst.js.map +1 -1
- package/dist/modules/pega/expression/PegaExpressionEvaluator.d.ts +29 -4
- package/dist/modules/pega/expression/PegaExpressionEvaluator.js +33 -16
- package/dist/modules/pega/expression/PegaExpressionEvaluator.js.map +1 -1
- package/dist/modules/pega/expression/PegaWhenEvaluator.d.ts +22 -4
- package/dist/modules/pega/expression/PegaWhenEvaluator.js +36 -42
- package/dist/modules/pega/expression/PegaWhenEvaluator.js.map +1 -1
- package/dist/modules/pega/expression/pega-expr/astBuilder.d.ts +61 -0
- package/dist/modules/pega/expression/pega-expr/astBuilder.js +189 -0
- package/dist/modules/pega/expression/pega-expr/astBuilder.js.map +1 -0
- package/dist/modules/pega/expression/pega-expr/exprEmit.d.ts +24 -0
- package/dist/modules/pega/expression/pega-expr/exprEmit.js +125 -0
- package/dist/modules/pega/expression/pega-expr/exprEmit.js.map +1 -0
- package/dist/modules/pega/expression/pega-expr/generated/PegaExprLexer.d.ts +53 -0
- package/dist/modules/pega/expression/pega-expr/generated/PegaExprLexer.js +164 -0
- package/dist/modules/pega/expression/pega-expr/generated/PegaExprLexer.js.map +1 -0
- package/dist/modules/pega/expression/pega-expr/generated/PegaExprListener.d.ts +90 -0
- package/dist/modules/pega/expression/pega-expr/generated/PegaExprListener.js +271 -0
- package/dist/modules/pega/expression/pega-expr/generated/PegaExprListener.js.map +1 -0
- package/dist/modules/pega/expression/pega-expr/generated/PegaExprParser.d.ts +567 -0
- package/dist/modules/pega/expression/pega-expr/generated/PegaExprParser.js +2975 -0
- package/dist/modules/pega/expression/pega-expr/generated/PegaExprParser.js.map +1 -0
- package/dist/modules/pega/expression/pega-expr/generated/PegaExprVisitor.d.ts +46 -0
- package/dist/modules/pega/expression/pega-expr/generated/PegaExprVisitor.js +183 -0
- package/dist/modules/pega/expression/pega-expr/generated/PegaExprVisitor.js.map +1 -0
- package/dist/modules/pega/expression/pega-expr/nodes.d.ts +157 -0
- package/dist/modules/pega/expression/pega-expr/nodes.js +107 -0
- package/dist/modules/pega/expression/pega-expr/nodes.js.map +1 -0
- package/dist/modules/pega/expression/pega-expr/parser.d.ts +38 -0
- package/dist/modules/pega/expression/pega-expr/parser.js +83 -0
- package/dist/modules/pega/expression/pega-expr/parser.js.map +1 -0
- package/dist/modules/pega/extraction/PegaDocsIngestor.d.ts +51 -0
- package/dist/modules/pega/extraction/PegaDocsIngestor.js +54 -0
- package/dist/modules/pega/extraction/PegaDocsIngestor.js.map +1 -0
- package/dist/modules/pega/extraction/PegaGenericLogicExtractor.d.ts +25 -0
- package/dist/modules/pega/extraction/PegaGenericLogicExtractor.js +162 -0
- package/dist/modules/pega/extraction/PegaGenericLogicExtractor.js.map +1 -0
- package/dist/modules/pega/extraction/SchemaDrivenRenderer.d.ts +19 -0
- package/dist/modules/pega/extraction/SchemaDrivenRenderer.js +80 -0
- package/dist/modules/pega/extraction/SchemaDrivenRenderer.js.map +1 -0
- package/dist/modules/pega/extraction/types.d.ts +21 -0
- package/dist/modules/pega/extraction/types.js +14 -0
- package/dist/modules/pega/extraction/types.js.map +1 -0
- package/dist/modules/pega/pega-mapping.d.ts +56 -20
- package/dist/modules/pega/pega-mapping.js +109 -49
- package/dist/modules/pega/pega-mapping.js.map +1 -1
- package/dist/modules/pega/pegaBulkCheckSchema.d.ts +50 -0
- package/dist/modules/pega/pegaBulkCheckSchema.js +27 -0
- package/dist/modules/pega/pegaBulkCheckSchema.js.map +1 -0
- package/dist/modules/pega/references/PegaReferenceExtractor.d.ts +11 -0
- package/dist/modules/pega/references/PegaReferenceExtractor.js +25 -0
- package/dist/modules/pega/references/PegaReferenceExtractor.js.map +1 -1
- package/dist/modules/pega/references/PxRuleReferences.d.ts +28 -0
- package/dist/modules/pega/references/PxRuleReferences.js +65 -0
- package/dist/modules/pega/references/PxRuleReferences.js.map +1 -0
- package/dist/modules/pega/resolve/PegaResolutionPass.d.ts +31 -0
- package/dist/modules/pega/resolve/PegaResolutionPass.js +86 -0
- package/dist/modules/pega/resolve/PegaResolutionPass.js.map +1 -0
- package/dist/modules/pega/resolve/PegaResolutionResolver.d.ts +52 -0
- package/dist/modules/pega/resolve/PegaResolutionResolver.js +112 -0
- package/dist/modules/pega/resolve/PegaResolutionResolver.js.map +1 -0
- package/dist/modules/pega/schema/PegaSchemaCreator.d.ts +26 -0
- package/dist/modules/pega/schema/PegaSchemaCreator.js +86 -0
- package/dist/modules/pega/schema/PegaSchemaCreator.js.map +1 -0
- package/dist/modules/pega/schema/SchemaAnalyzeService.js +6 -0
- package/dist/modules/pega/schema/SchemaAnalyzeService.js.map +1 -1
- package/dist/modules/pega/schemas/ingest-rule.schema.d.ts +6 -6
- package/dist/modules/pega/schemas/ingest-rule.schema.js +10 -2
- package/dist/modules/pega/schemas/ingest-rule.schema.js.map +1 -1
- package/dist/modules/pega/security/PegaEvaluationSandbox.d.ts +8 -1
- package/dist/modules/pega/security/PegaEvaluationSandbox.js +21 -10
- package/dist/modules/pega/security/PegaEvaluationSandbox.js.map +1 -1
- package/dist/modules/pega/storage/PegaResolutionStore.d.ts +65 -0
- package/dist/modules/pega/storage/PegaResolutionStore.js +93 -0
- package/dist/modules/pega/storage/PegaResolutionStore.js.map +1 -0
- package/dist/modules/pega/strategies/ActivityParserStrategy.js +2 -2
- package/dist/modules/pega/strategies/ActivityParserStrategy.js.map +1 -1
- package/dist/modules/pega/strategies/DataTransformParserStrategy.js +2 -2
- package/dist/modules/pega/strategies/DataTransformParserStrategy.js.map +1 -1
- package/dist/modules/pega/strategies/DefaultPegaParserStrategy.js +2 -2
- package/dist/modules/pega/strategies/DefaultPegaParserStrategy.js.map +1 -1
- package/dist/modules/pega/strategies/KbDrivenPegaParserStrategy.js +2 -2
- package/dist/modules/pega/strategies/KbDrivenPegaParserStrategy.js.map +1 -1
- package/dist/modules/sandbox/ExecutionManager.d.ts +39 -0
- package/dist/modules/sandbox/ExecutionManager.js +142 -0
- package/dist/modules/sandbox/ExecutionManager.js.map +1 -0
- package/dist/modules/sandbox/Reaper.d.ts +16 -0
- package/dist/modules/sandbox/Reaper.js +36 -0
- package/dist/modules/sandbox/Reaper.js.map +1 -0
- package/dist/modules/sandbox/SandboxModule.d.ts +27 -0
- package/dist/modules/sandbox/SandboxModule.js +74 -0
- package/dist/modules/sandbox/SandboxModule.js.map +1 -0
- package/dist/modules/sandbox/SessionStore.d.ts +17 -0
- package/dist/modules/sandbox/SessionStore.js +47 -0
- package/dist/modules/sandbox/SessionStore.js.map +1 -0
- package/dist/modules/sandbox/errors.d.ts +30 -0
- package/dist/modules/sandbox/errors.js +50 -0
- package/dist/modules/sandbox/errors.js.map +1 -0
- package/dist/modules/sandbox/executors/DockerExecutor.d.ts +28 -0
- package/dist/modules/sandbox/executors/DockerExecutor.js +257 -0
- package/dist/modules/sandbox/executors/DockerExecutor.js.map +1 -0
- package/dist/modules/sandbox/executors/IExecutor.d.ts +28 -0
- package/dist/modules/sandbox/executors/IExecutor.js +7 -0
- package/dist/modules/sandbox/executors/IExecutor.js.map +1 -0
- package/dist/modules/sandbox/executors/LocalExecutor.d.ts +20 -0
- package/dist/modules/sandbox/executors/LocalExecutor.js +111 -0
- package/dist/modules/sandbox/executors/LocalExecutor.js.map +1 -0
- package/dist/modules/sandbox/executors/dockerHostConfig.d.ts +18 -0
- package/dist/modules/sandbox/executors/dockerHostConfig.js +49 -0
- package/dist/modules/sandbox/executors/dockerHostConfig.js.map +1 -0
- package/dist/modules/sandbox/executors/hardening.d.ts +14 -0
- package/dist/modules/sandbox/executors/hardening.js +17 -0
- package/dist/modules/sandbox/executors/hardening.js.map +1 -0
- package/dist/modules/sandbox/executors/mountSecurity.d.ts +17 -0
- package/dist/modules/sandbox/executors/mountSecurity.js +66 -0
- package/dist/modules/sandbox/executors/mountSecurity.js.map +1 -0
- package/dist/modules/sandbox/executors/result.d.ts +8 -0
- package/dist/modules/sandbox/executors/result.js +22 -0
- package/dist/modules/sandbox/executors/result.js.map +1 -0
- package/dist/modules/sandbox/models.d.ts +79 -0
- package/dist/modules/sandbox/models.js +13 -0
- package/dist/modules/sandbox/models.js.map +1 -0
- package/dist/modules/sandbox/parsers/OutputBuffer.d.ts +21 -0
- package/dist/modules/sandbox/parsers/OutputBuffer.js +61 -0
- package/dist/modules/sandbox/parsers/OutputBuffer.js.map +1 -0
- package/dist/modules/sandbox/parsers/TestResultParser.d.ts +6 -0
- package/dist/modules/sandbox/parsers/TestResultParser.js +161 -0
- package/dist/modules/sandbox/parsers/TestResultParser.js.map +1 -0
- package/dist/modules/sandbox/tools/tool-definitions.d.ts +6 -0
- package/dist/modules/sandbox/tools/tool-definitions.js +114 -0
- package/dist/modules/sandbox/tools/tool-definitions.js.map +1 -0
- package/dist/modules/sandbox/tools/tool-handlers.d.ts +11 -0
- package/dist/modules/sandbox/tools/tool-handlers.js +233 -0
- package/dist/modules/sandbox/tools/tool-handlers.js.map +1 -0
- package/dist/sa4e-190/dto/GenerateBRDRequest.d.ts +2 -2
- package/dist/server/HttpServer.d.ts +2 -0
- package/dist/server/HttpServer.js +55 -6
- package/dist/server/HttpServer.js.map +1 -1
- package/dist/server/middleware/rate-limiter.d.ts +27 -4
- package/dist/server/middleware/rate-limiter.js +89 -8
- package/dist/server/middleware/rate-limiter.js.map +1 -1
- package/dist/server/routes/admin/analytics.js +12 -10
- package/dist/server/routes/admin/analytics.js.map +1 -1
- package/dist/server/routes/admin/config.js +20 -0
- package/dist/server/routes/admin/config.js.map +1 -1
- package/dist/server/routes/admin/database.js +15 -3
- package/dist/server/routes/admin/database.js.map +1 -1
- package/dist/server/routes/admin/index.js +3 -1
- package/dist/server/routes/admin/index.js.map +1 -1
- package/dist/server/routes/admin/kb-entries.js +126 -61
- package/dist/server/routes/admin/kb-entries.js.map +1 -1
- package/dist/server/routes/admin/kb-graph.js +29 -0
- package/dist/server/routes/admin/kb-graph.js.map +1 -1
- package/dist/server/routes/api-index-decoupled.d.ts +39 -5
- package/dist/server/routes/api-index-decoupled.js +43 -25
- package/dist/server/routes/api-index-decoupled.js.map +1 -1
- package/dist/server/routes/api-index.js +22 -9
- package/dist/server/routes/api-index.js.map +1 -1
- package/dist/server/routes/enrichment-status-routes.d.ts +1 -1
- package/dist/server/routes/enrichment-status-routes.js +5 -3
- package/dist/server/routes/enrichment-status-routes.js.map +1 -1
- package/dist/server/routes/mcp/servers.d.ts +11 -0
- package/dist/server/routes/mcp/servers.js +199 -0
- package/dist/server/routes/mcp/servers.js.map +1 -0
- package/dist/server/routes/pega-api.d.ts +11 -1
- package/dist/server/routes/pega-api.js +157 -11
- package/dist/server/routes/pega-api.js.map +1 -1
- package/dist/server/routes/pega-ingest-rule.d.ts +11 -1
- package/dist/server/routes/pega-ingest-rule.js +16 -8
- package/dist/server/routes/pega-ingest-rule.js.map +1 -1
- package/dist/server/routes/pega-references.d.ts +19 -0
- package/dist/server/routes/pega-references.js +82 -0
- package/dist/server/routes/pega-references.js.map +1 -0
- package/dist/server/routes/pega-stream.d.ts +11 -1
- package/dist/server/routes/pega-stream.js +16 -9
- package/dist/server/routes/pega-stream.js.map +1 -1
- package/dist/server/routes/rate-limit-config-routes.d.ts +13 -0
- package/dist/server/routes/rate-limit-config-routes.js +72 -0
- package/dist/server/routes/rate-limit-config-routes.js.map +1 -0
- package/dist/server/routes/sa4e-215/auth.d.ts +14 -0
- package/dist/server/routes/sa4e-215/auth.js +105 -0
- package/dist/server/routes/sa4e-215/auth.js.map +1 -0
- package/dist/server/routes/sa4e-215/decisions.d.ts +9 -0
- package/dist/server/routes/sa4e-215/decisions.js +128 -0
- package/dist/server/routes/sa4e-215/decisions.js.map +1 -0
- package/dist/server/routes/sa4e-215/guard.d.ts +14 -0
- package/dist/server/routes/sa4e-215/guard.js +18 -0
- package/dist/server/routes/sa4e-215/guard.js.map +1 -0
- package/dist/server/routes/sa4e-215/index.d.ts +11 -0
- package/dist/server/routes/sa4e-215/index.js +21 -0
- package/dist/server/routes/sa4e-215/index.js.map +1 -0
- package/dist/server/routes/schemas/index-schemas.d.ts +114 -0
- package/dist/server/routes/schemas/index-schemas.js +41 -0
- package/dist/server/routes/schemas/index-schemas.js.map +1 -0
- package/dist/servers/atlassian/clients/kb-cache-client.d.ts +52 -0
- package/dist/servers/atlassian/clients/kb-cache-client.js +135 -0
- package/dist/servers/atlassian/clients/kb-cache-client.js.map +1 -0
- package/dist/servers/atlassian/models/jira-schemas.d.ts +2 -2
- package/dist/servers/atlassian/tools/jira-issue-tools.js +7 -2
- package/dist/servers/atlassian/tools/jira-issue-tools.js.map +1 -1
- package/dist/shared/EventBus.d.ts +2 -0
- package/dist/shared/EventBus.js +2 -0
- package/dist/shared/EventBus.js.map +1 -1
- package/dist/shared/schemas/EnrichmentStatusSchema.d.ts +36 -0
- package/dist/shared/schemas/EnrichmentStatusSchema.js +2 -0
- package/dist/shared/schemas/EnrichmentStatusSchema.js.map +1 -1
- package/dist/shim-better-sqlite3.d.ts +17 -0
- package/dist/shim-better-sqlite3.js +39 -0
- package/dist/shim-better-sqlite3.js.map +1 -0
- package/dist/tool-router/ToolHandlerDecorators.js +6 -4
- package/dist/tool-router/ToolHandlerDecorators.js.map +1 -1
- package/dist/types/tool.d.ts +1 -1
- package/dist/viewer/admin/camera-physics.d.ts +0 -0
- package/dist/viewer/admin/camera-physics.js.map +1 -0
- package/dist/viewer/admin/gesture-fsm.d.ts +0 -0
- package/dist/viewer/admin/gesture-fsm.js.map +1 -0
- package/dist/viewer/admin/index.html +61 -4
- package/dist/viewer/admin/kb-graph-renderer.d.ts +0 -0
- package/dist/viewer/admin/kb-graph-renderer.js +494 -140
- package/dist/viewer/admin/kb-graph-renderer.js.map +1 -0
- package/dist/viewer/admin/lod-animation.d.ts +43 -0
- package/dist/viewer/admin/lod-animation.js.map +1 -0
- package/dist/viewer/admin/lod-clustering.d.ts +30 -0
- package/dist/viewer/admin/lod-clustering.js.map +1 -0
- package/dist/viewer/admin/lod-manager.d.ts +59 -0
- package/dist/viewer/admin/lod-manager.js.map +1 -0
- package/dist/viewer/admin/map-controls.d.ts +0 -0
- package/dist/viewer/admin/map-controls.js.map +1 -0
- package/dist/viewer/admin/utils/localStorageSync.d.ts +3 -0
- package/dist/viewer/admin/utils/localStorageSync.js +56 -0
- package/dist/viewer/admin/utils/localStorageSync.js.map +1 -0
- package/dist/viewer/admin/utils/wildcardMatcher.d.ts +9 -0
- package/dist/viewer/admin/utils/wildcardMatcher.js +23 -0
- package/dist/viewer/admin/utils/wildcardMatcher.js.map +1 -0
- package/dist/viewer/admin/vendor/OrbitControls.d.ts +0 -0
- package/dist/viewer/admin/vendor/OrbitControls.js.map +1 -0
- package/dist/viewer/admin/zoom-animator.d.ts +0 -0
- package/dist/viewer/admin/zoom-animator.js.map +1 -0
- package/dist/viewer/analytics.d.ts +11 -0
- package/dist/viewer/analytics.js.map +1 -0
- package/dist/viewer/browser.d.ts +11 -0
- package/dist/viewer/browser.js.map +1 -0
- package/dist/viewer/dashboard.d.ts +16 -0
- package/dist/viewer/dashboard.js.map +1 -0
- package/dist/viewer/graph.d.ts +29 -0
- package/dist/viewer/graph.js.map +1 -0
- package/dist/viewer/lod-animation.d.ts +43 -0
- package/dist/viewer/lod-animation.js.map +1 -0
- package/dist/viewer/lod-clustering.d.ts +30 -0
- package/dist/viewer/lod-clustering.js.map +1 -0
- package/dist/viewer/lod-manager.d.ts +40 -0
- package/dist/viewer/lod-manager.js.map +1 -0
- package/dist/viewer/modules/empty-states.d.ts +6 -0
- package/dist/viewer/modules/empty-states.js.map +1 -0
- package/dist/viewer/modules/event-bus.d.ts +15 -0
- package/dist/viewer/modules/event-bus.js.map +1 -0
- package/dist/viewer/modules/graph-analysis.d.ts +6 -0
- package/dist/viewer/modules/graph-analysis.js.map +1 -0
- package/dist/viewer/modules/help-panel.d.ts +6 -0
- package/dist/viewer/modules/help-panel.js.map +1 -0
- package/dist/viewer/modules/markdown-renderer.d.ts +11 -0
- package/dist/viewer/modules/markdown-renderer.js.map +1 -0
- package/dist/viewer/modules/recommendations.d.ts +6 -0
- package/dist/viewer/modules/recommendations.js.map +1 -0
- package/dist/viewer/modules/tooltips.d.ts +6 -0
- package/dist/viewer/modules/tooltips.js.map +1 -0
- package/dist/viewer/modules/tour-ui.d.ts +4 -0
- package/dist/viewer/modules/tour-ui.js.map +1 -0
- package/dist/viewer/modules/tour.d.ts +12 -0
- package/dist/viewer/modules/tour.js.map +1 -0
- package/dist/viewer/quality.d.ts +11 -0
- package/dist/viewer/quality.js.map +1 -0
- package/dist/viewer/session-export.d.ts +4 -0
- package/dist/viewer/session-export.js.map +1 -0
- package/dist/viewer/session-playback.d.ts +14 -0
- package/dist/viewer/session-playback.js.map +1 -0
- package/dist/viewer/session-timeline.d.ts +19 -0
- package/dist/viewer/session-timeline.js.map +1 -0
- package/dist/viewer/sessions.d.ts +18 -0
- package/dist/viewer/sessions.js.map +1 -0
- package/dist/viewer/stream.d.ts +19 -0
- package/dist/viewer/stream.js.map +1 -0
- package/dist/viewer/tags.d.ts +15 -0
- package/dist/viewer/tags.js.map +1 -0
- package/docker-compose.dev.yml +79 -0
- package/docker-compose.sa4e-241.yml +44 -0
- package/docker-compose.test.yml +24 -0
- package/fix-pending-tasks-priority.cjs +73 -0
- package/package.json +14 -9
- package/scripts/clear-pega-symbols.ts +72 -0
- package/scripts/db/run-sa4e-241-migration.mjs +73 -0
- package/scripts/db/sa4e-241-content-hash-index.sql +20 -0
- package/scripts/enrich-audit.ts +66 -0
- package/scripts/enrich-diag.ts +53 -0
- package/scripts/enrich-poll.ts +55 -0
- package/scripts/ingest-pega-docs.ts +104 -0
- package/scripts/ingest-raw2-pega-docs.ts +303 -0
- package/scripts/inspect-kinds.ts +27 -0
- package/scripts/migrate-mcp.js +227 -0
- package/scripts/pega-discover.ts +76 -0
- package/scripts/purge-superseded-tasks.ts +37 -0
- package/scripts/rebuild-graph-nodes.ts +53 -0
- package/scripts/reclassify-pega-kinds.ts +63 -0
- package/scripts/reenrich-pega-all.ts +119 -0
- package/scripts/reenrich-pega-declarative.ts +106 -0
- package/scripts/reenrich-pega.ts +89 -0
- package/src/__tests__/sa4e-testkit.ts +3 -3
- package/src/admin/db/core.ts +24 -5
- package/src/admin/db/schema.ts +25 -10
- package/src/admin/middleware/rbac.middleware.ts +1 -0
- package/src/admin/types/admin.types.ts +1 -1
- package/src/admin/types/rbac.types.ts +2 -1
- package/src/config/SandboxConfig.ts +74 -0
- package/src/config/__tests__/salesforce-extensions.test.ts +26 -0
- package/src/config/index.ts +9 -2
- package/src/database/__tests__/sqlite-test-adapter.ts +66 -0
- package/src/database/__tests__/test-adapter.ts +79 -53
- package/src/database/adapters/SqliteAdapter.ts +170 -37
- package/src/database/adapters/SqliteAsyncAdapter.ts +40 -16
- package/src/database/adapters/__tests__/SqliteAdapter.test.ts +3 -3
- package/src/database/adapters/__tests__/SqliteAsyncAdapter.test.ts +10 -5
- package/src/database/config/DatabaseConfigService.ts +39 -6
- package/src/database/migration/__tests__/MigrationService.test.ts +16 -12
- package/src/database/migration/ensure-pega-category-counters.ts +31 -0
- package/src/database/migration/migrate-pega-category-counters.ts +35 -0
- package/src/database/models/file-checksum.ts +13 -0
- package/src/database/models/index-operation.ts +19 -0
- package/src/database/repositories/FileChecksumRepository.ts +97 -0
- package/src/database/repositories/IndexOperationRepository.ts +196 -0
- package/src/database/repositories/SymbolRepository.ts +4 -2
- package/src/database/repositories/__tests__/AuditRepository.test.ts +12 -10
- package/src/database/repositories/__tests__/FileChecksumRepository.test.ts +123 -0
- package/src/database/repositories/__tests__/GraphRepository.test.ts +30 -27
- package/src/database/repositories/__tests__/IndexOperationRepository.test.ts +170 -0
- package/src/database/repositories/__tests__/KbRepository.test.ts +22 -20
- package/src/database/repositories/__tests__/SymbolRepository.test.ts +18 -19
- package/src/database/repositories/__tests__/UserRepository.test.ts +19 -17
- package/src/database/schema-registry/ensure-sa4e-101.ts +64 -0
- package/src/database/schema-registry/ensure-sa4e-215.ts +74 -0
- package/src/database/schema-registry/ensure-sa4e-237.ts +56 -0
- package/src/database/schema-registry/ensure-sa4e-300.ts +33 -0
- package/src/database/schema-registry/ensure-sa4e-301.ts +42 -0
- package/src/database/schema-registry/ensure-sa4e-302.ts +19 -0
- package/src/database/schema-registry/ensure-sa4e-303.ts +21 -0
- package/src/database/schema-registry/sa4e-215.ts +105 -0
- package/src/di/Container.ts +1 -1
- package/src/engine/db/__tests__/migration-v5.test.ts +38 -37
- package/src/engine/db/database-manager.ts +4 -4
- package/src/engine/db/migration-v5.ts +30 -8
- package/src/engine/enrichment/CodeEnrichmentHandler.ts +49 -91
- package/src/engine/enrichment/CodeEnrichmentPromptBuilder.ts +61 -11
- package/src/engine/enrichment/CodeEnrichmentTaskCreator.ts +20 -3
- package/src/engine/enrichment/types.ts +9 -1
- package/src/engine/graph/__tests__/code-edge-extractor.test.ts +50 -102
- package/src/engine/graph/__tests__/graph-isolation.test.ts +32 -22
- package/src/engine/graph/__tests__/graph-services.test.ts +27 -26
- package/src/engine/graph/__tests__/graph-sync-service.test.ts +29 -28
- package/src/engine/graph/code-edge-extractor.ts +78 -37
- package/src/engine/graph/graph-sync-service.ts +5 -63
- package/src/engine/indexer/__tests__/checksum-service.test.ts +77 -0
- package/src/engine/indexer/__tests__/cleanup-scheduler.test.ts +72 -0
- package/src/engine/indexer/__tests__/file-scanner.part2.test.ts +173 -0
- package/src/engine/indexer/__tests__/file-scanner.test.ts +49 -90
- package/src/engine/indexer/__tests__/index-operation-manager.test.ts +168 -0
- package/src/engine/indexer/__tests__/module-helper.test.ts +54 -0
- package/src/engine/indexer/__tests__/path-safety.test.ts +81 -0
- package/src/engine/indexer/__tests__/startup-interrupt-detector.test.ts +97 -0
- package/src/engine/indexer/__tests__/tree-sitter-pipeline.test.ts +20 -28
- package/src/engine/indexer/async-file-scanner.ts +10 -3
- package/src/engine/indexer/checksum-service.ts +56 -0
- package/src/engine/indexer/cleanup-scheduler.ts +57 -0
- package/src/engine/indexer/file-scanner.ts +44 -15
- package/src/engine/indexer/index-operation-manager.ts +304 -76
- package/src/engine/indexer/index-scope.ts +8 -0
- package/src/engine/indexer/indexing-engine.ts +70 -15
- package/src/engine/indexer/module-helper.ts +27 -8
- package/src/engine/indexer/path-safety.ts +45 -0
- package/src/engine/indexer/project-type/__tests__/resolver.test.ts +7 -0
- package/src/engine/indexer/project-type/resolver.ts +6 -1
- package/src/engine/indexer/startup-interrupt-detector.ts +39 -0
- package/src/engine/indexer/types.ts +32 -4
- package/src/engine/parsers/__tests__/sa4e-225-language-extraction.test.ts +448 -0
- package/src/engine/parsers/__tests__/signature-extractor.test.ts +20 -0
- package/src/engine/parsers/__tests__/tree-sitter-timeout.test.ts +79 -0
- package/src/engine/parsers/embedding/EmbeddingService.ts +21 -29
- package/src/engine/parsers/grammar-config.json +231 -21
- package/src/engine/parsers/grammar-registry.ts +5 -2
- package/src/engine/parsers/grammars/grammar-config-loader.ts +1 -1
- package/src/engine/parsers/grammars/tree-sitter-c-sharp.wasm +0 -0
- package/src/engine/parsers/grammars/tree-sitter-c.wasm +0 -0
- package/src/engine/parsers/grammars/tree-sitter-cpp.wasm +0 -0
- package/src/engine/parsers/grammars/tree-sitter-kotlin.wasm +0 -0
- package/src/engine/parsers/grammars/tree-sitter-php.wasm +0 -0
- package/src/engine/parsers/grammars/tree-sitter-ruby.wasm +0 -0
- package/src/engine/parsers/grammars/tree-sitter-scala.wasm +0 -0
- package/src/engine/parsers/grammars/tree-sitter-swift.wasm +0 -0
- package/src/engine/parsers/indexer/storage.ts +11 -3
- package/src/engine/parsers/languages/__tests__/apex-parser.test.ts +2 -2
- package/src/engine/parsers/languages/__tests__/aura-parser.test.ts +50 -0
- package/src/engine/parsers/languages/__tests__/lwc-js-fields.test.ts +104 -0
- package/src/engine/parsers/languages/__tests__/salesforce-markup-redos.test.ts +72 -0
- package/src/engine/parsers/languages/__tests__/salesforce-meta-parser.part2.test.ts +161 -0
- package/src/engine/parsers/languages/__tests__/salesforce-meta-parser.test.ts +6 -71
- package/src/engine/parsers/languages/__tests__/secret-scrub.test.ts +53 -0
- package/src/engine/parsers/languages/__tests__/visualforce-parser.test.ts +50 -0
- package/src/engine/parsers/languages/apex/declarations.ts +2 -2
- package/src/engine/parsers/languages/apex/triggers.ts +1 -1
- package/src/engine/parsers/languages/aura/index.ts +1 -0
- package/src/engine/parsers/languages/aura/parser.ts +38 -0
- package/src/engine/parsers/languages/aura-parser.ts +1 -0
- package/src/engine/parsers/languages/bash.ts +15 -0
- package/src/engine/parsers/languages/builtin.ts +59 -0
- package/src/engine/parsers/languages/c-parser.js +16 -0
- package/src/engine/parsers/languages/c.ts +15 -0
- package/src/engine/parsers/languages/cpp-parser.js +17 -0
- package/src/engine/parsers/languages/cpp.ts +17 -0
- package/src/engine/parsers/languages/csharp-parser.js +18 -0
- package/src/engine/parsers/languages/csharp.ts +23 -0
- package/src/engine/parsers/languages/generic-tree-sitter-parser.js +149 -0
- package/src/engine/parsers/languages/index.ts +37 -0
- package/src/engine/parsers/languages/lwc-html-parser.js +30 -0
- package/src/engine/parsers/languages/php-parser.js +17 -0
- package/src/engine/parsers/languages/php.ts +17 -0
- package/src/engine/parsers/languages/powershell.ts +22 -0
- package/src/engine/parsers/languages/ruby-parser.js +16 -0
- package/src/engine/parsers/languages/ruby.ts +17 -0
- package/src/engine/parsers/languages/salesforce-markup/shared.ts +94 -0
- package/src/engine/parsers/languages/salesforce-meta/detectMetaType.ts +34 -0
- package/src/engine/parsers/languages/salesforce-meta/helpers.ts +36 -1
- package/src/engine/parsers/languages/salesforce-meta/parser.ts +43 -19
- package/src/engine/parsers/languages/salesforce-meta/parsers/aura.ts +10 -0
- package/src/engine/parsers/languages/salesforce-meta/parsers/dashboard.ts +8 -0
- package/src/engine/parsers/languages/salesforce-meta/parsers/email.ts +8 -0
- package/src/engine/parsers/languages/salesforce-meta/parsers/field.ts +17 -0
- package/src/engine/parsers/languages/salesforce-meta/parsers/flexipage.ts +8 -0
- package/src/engine/parsers/languages/salesforce-meta/parsers/flow.ts +42 -0
- package/src/engine/parsers/languages/salesforce-meta/parsers/index.ts +19 -0
- package/src/engine/parsers/languages/salesforce-meta/parsers/labels.ts +16 -0
- package/src/engine/parsers/languages/salesforce-meta/parsers/layout.ts +8 -0
- package/src/engine/parsers/languages/salesforce-meta/parsers/lwc.ts +16 -0
- package/src/engine/parsers/languages/salesforce-meta/parsers/object.ts +28 -0
- package/src/engine/parsers/languages/salesforce-meta/parsers/permissionset.ts +8 -0
- package/src/engine/parsers/languages/salesforce-meta/parsers/profile.ts +8 -0
- package/src/engine/parsers/languages/salesforce-meta/parsers/report.ts +8 -0
- package/src/engine/parsers/languages/salesforce-meta/parsers/resource.ts +8 -0
- package/src/engine/parsers/languages/salesforce-meta/parsers/site.ts +8 -0
- package/src/engine/parsers/languages/salesforce-meta/parsers/tab.ts +8 -0
- package/src/engine/parsers/languages/salesforce-meta/parsers/testSuite.ts +8 -0
- package/src/engine/parsers/languages/scala-parser.js +18 -0
- package/src/engine/parsers/languages/scala.ts +15 -0
- package/src/engine/parsers/languages/swift-parser.js +16 -0
- package/src/engine/parsers/languages/swift.ts +24 -0
- package/src/engine/parsers/languages/ts-symbol-extractor/members.ts +60 -1
- package/src/engine/parsers/languages/types.ts +1 -0
- package/src/engine/parsers/languages/visualforce/index.ts +1 -0
- package/src/engine/parsers/languages/visualforce/parser.ts +29 -0
- package/src/engine/parsers/languages/visualforce-parser.ts +1 -0
- package/src/engine/parsers/signature-extractor.ts +23 -55
- package/src/engine/parsers/tree-sitter-indexer.ts +54 -4
- package/src/engine/parsers/types.ts +5 -2
- package/src/engine/query/__tests__/query-isolation.test.ts +24 -20
- package/src/engine/tools/__tests__/call-graph-tools.test.ts +44 -44
- package/src/engine/tools/__tests__/dependency-tools.test.ts +30 -31
- package/src/engine/tools/__tests__/impact-tools.test.ts +24 -24
- package/src/index.ts +22 -1
- package/src/knowledge/KnowledgeDb.ts +7 -13
- package/src/knowledge/routes.ts +12 -5
- package/src/models/pega-schema.models.ts +4 -0
- package/src/modules/ModuleFactory.ts +3 -0
- package/src/modules/kb-graph/__tests__/KBGraphModule.test.ts +52 -57
- package/src/modules/kb-graph/service/__tests__/GraphService.test.ts +27 -29
- package/src/modules/kb-graph/service/__tests__/constants.test.ts +55 -0
- package/src/modules/kb-graph/service/constants.ts +34 -17
- package/src/modules/kb-graph/service/index.ts +1 -1
- package/src/modules/kb-graph/service/sync.ts +2 -2
- package/src/modules/memory/IsolationLayer.ts +12 -8
- package/src/modules/memory/MemoryDb.ts +1 -1
- package/src/modules/memory/__tests__/Consolidation.test.ts +15 -14
- package/src/modules/memory/__tests__/IsolationLayer.test.ts +17 -15
- package/src/modules/memory/__tests__/MigrationRunner.test.ts +45 -70
- package/src/modules/memory/__tests__/Procedure.test.ts +15 -13
- package/src/modules/memory/__tests__/ProjectIsolation.test.ts +22 -20
- package/src/modules/memory/__tests__/SA4E31-CrossWorkspaceIsolation.test.ts +0 -107
- package/src/modules/memory/__tests__/ScopePromotionService.test.ts +16 -17
- package/src/modules/memory/__tests__/SmartIngest.test.ts +14 -15
- package/src/modules/memory/__tests__/edge-on-ingest.test.ts +78 -53
- package/src/modules/memory/__tests__/graph-fallback.test.ts +12 -8
- package/src/modules/memory/__tests__/pega-concept-retriever.test.ts +60 -0
- package/src/modules/memory/dispatchers/crud.ts +27 -0
- package/src/modules/memory/dispatchers/graph-fallback.ts +7 -5
- package/src/modules/memory/engine/crud.ts +10 -17
- package/src/modules/memory/engine/edge-on-ingest.ts +82 -41
- package/src/modules/memory/migrations/003-pending-tasks.ts +5 -0
- package/src/modules/memory/pega-concept-retriever.ts +88 -0
- package/src/modules/memory/task-queue/PendingTaskRepository.ts +26 -5
- package/src/modules/memory/task-queue/SqliteDbAdapter.ts +1 -2
- package/src/modules/memory/task-queue/TaskWorker.ts +12 -0
- package/src/modules/memory/task-queue/__tests__/PendingTaskRepository.earliest.test.ts +102 -0
- package/src/modules/memory/task-queue/__tests__/PendingTaskRepository.purge.test.ts +97 -0
- package/src/modules/memory/task-queue/__tests__/TaskWorker.it.test.ts +40 -16
- package/src/modules/memory/task-queue/models.ts +13 -0
- package/src/modules/orchestration/McpClientManager.ts +14 -0
- package/src/modules/orchestration/OrchestrationModule.ts +9 -0
- package/src/modules/orchestration/__tests__/McpClientManager.reserved.test.ts +56 -0
- package/src/modules/orchestration/reindex/__tests__/McpToolsRepository.test.ts +26 -26
- package/src/modules/orchestration/reindex/__tests__/ReindexService.test.ts +31 -22
- package/src/modules/orchestration/reindex/__tests__/ReindexSubscriber.test.ts +15 -11
- package/src/modules/orchestration/reindex/__tests__/reindex.pbt.test.ts +39 -40
- package/src/modules/pega/ChecksumStore.ts +57 -0
- package/src/modules/pega/DiskBackedSet.ts +513 -0
- package/src/modules/pega/PegaCaseTypeExtractor.ts +77 -0
- package/src/modules/pega/PegaContentExtractor.ts +60 -57
- package/src/modules/pega/PegaExprAnnotator.ts +67 -0
- package/src/modules/pega/PegaFlowExtractor.ts +110 -0
- package/src/modules/pega/PegaHashCache.ts +19 -0
- package/src/modules/pega/PegaIndexer.ts +46 -5
- package/src/modules/pega/PegaIndexerTool.ts +7 -1
- package/src/modules/pega/PegaKbSync.ts +9 -1
- package/src/modules/pega/PegaNestedLogicExtractor.ts +76 -0
- package/src/modules/pega/PegaParser.ts +17 -0
- package/src/modules/pega/PegaRuleAstParser.ts +19 -4
- package/src/modules/pega/PegaService.ts +49 -11
- package/src/modules/pega/PegaSymbolSync.ts +87 -16
- package/src/modules/pega/__tests__/ChecksumStore.test.ts +98 -0
- package/src/modules/pega/__tests__/PegaCaseTypeExtractor.test.ts +68 -0
- package/src/modules/pega/__tests__/PegaContentExtractor.test.ts +31 -0
- package/src/modules/pega/__tests__/PegaFlowExtractor.test.ts +60 -0
- package/src/modules/pega/__tests__/PegaGenericLogicExtractor.test.ts +96 -0
- package/src/modules/pega/__tests__/PegaIndexerTool.test.ts +12 -1
- package/src/modules/pega/__tests__/PegaNestedLogicExtractor.test.ts +85 -0
- package/src/modules/pega/__tests__/PegaSymbolSync.test.ts +50 -12
- package/src/modules/pega/__tests__/SchemaDrivenRenderer.test.ts +61 -0
- package/src/modules/pega/__tests__/declare/PegaDeclareParser.test.ts +11 -7
- package/src/modules/pega/__tests__/expression/ExprNodeEvaluator.test.ts +64 -0
- package/src/modules/pega/__tests__/expression/ExprNodeValidator.test.ts +48 -0
- package/src/modules/pega/__tests__/expression/PegaExprParser.test.ts +122 -0
- package/src/modules/pega/__tests__/expression/PegaExpressionEvaluator.test.ts +6 -6
- package/src/modules/pega/__tests__/expression/PegaWhenEvaluator.test.ts +47 -0
- package/src/modules/pega/__tests__/inference/PegaSchemaKBService.test.ts +15 -17
- package/src/modules/pega/__tests__/pega-indexing.e2e.test.ts +18 -10
- package/src/modules/pega/__tests__/pega-mapping.test.ts +82 -59
- package/src/modules/pega/__tests__/references/PxRuleReferences.test.ts +72 -0
- package/src/modules/pega/__tests__/resolve/PegaResolutionPass.test.ts +166 -0
- package/src/modules/pega/__tests__/security/PegaSecurity.test.ts +14 -32
- package/src/modules/pega/declare/PegaDeclareParser.ts +6 -9
- package/src/modules/pega/declare/PegaDeclareTypes.ts +2 -2
- package/src/modules/pega/discovery/PegaCodeIntelClient.ts +91 -0
- package/src/modules/pega/discovery/PegaServiceDiscovery.ts +171 -0
- package/src/modules/pega/discovery/PegaServiceMethodLinker.ts +177 -0
- package/src/modules/pega/discovery/__tests__/PegaServiceDiscovery.test.ts +54 -0
- package/src/modules/pega/discovery/__tests__/PegaServiceMethodLinker.test.ts +61 -0
- package/src/modules/pega/discovery/index.ts +10 -0
- package/src/modules/pega/expression/ExprNodeEvaluator.ts +107 -0
- package/src/modules/pega/expression/ExprNodeValidator.ts +90 -0
- package/src/modules/pega/expression/ExprOperators.ts +91 -0
- package/src/modules/pega/expression/ExprReferenceResolver.ts +43 -0
- package/src/modules/pega/expression/PegaConstraintEvaluator.ts +3 -4
- package/src/modules/pega/expression/PegaExpressionAst.ts +30 -119
- package/src/modules/pega/expression/PegaExpressionEvaluator.ts +37 -25
- package/src/modules/pega/expression/PegaWhenEvaluator.ts +41 -55
- package/src/modules/pega/expression/pega-expr/astBuilder.ts +203 -0
- package/src/modules/pega/expression/pega-expr/exprEmit.ts +138 -0
- package/src/modules/pega/expression/pega-expr/generated/PegaExpr.interp +98 -0
- package/src/modules/pega/expression/pega-expr/generated/PegaExpr.tokens +67 -0
- package/src/modules/pega/expression/pega-expr/generated/PegaExprLexer.d.ts +12 -0
- package/src/modules/pega/expression/pega-expr/generated/PegaExprLexer.interp +137 -0
- package/src/modules/pega/expression/pega-expr/generated/PegaExprLexer.js +175 -0
- package/src/modules/pega/expression/pega-expr/generated/PegaExprLexer.tokens +67 -0
- package/src/modules/pega/expression/pega-expr/generated/PegaExprListener.js +405 -0
- package/src/modules/pega/expression/pega-expr/generated/PegaExprParser.d.ts +13 -0
- package/src/modules/pega/expression/pega-expr/generated/PegaExprParser.js +3380 -0
- package/src/modules/pega/expression/pega-expr/generated/PegaExprVisitor.d.ts +11 -0
- package/src/modules/pega/expression/pega-expr/generated/PegaExprVisitor.js +274 -0
- package/src/modules/pega/expression/pega-expr/nodes.ts +231 -0
- package/src/modules/pega/expression/pega-expr/parser.ts +121 -0
- package/src/modules/pega/extraction/PegaDocsIngestor.ts +75 -0
- package/src/modules/pega/extraction/PegaGenericLogicExtractor.ts +155 -0
- package/src/modules/pega/extraction/SchemaDrivenRenderer.ts +89 -0
- package/src/modules/pega/extraction/__tests__/PegaDocsIngestor.test.ts +56 -0
- package/src/modules/pega/extraction/types.ts +28 -0
- package/src/modules/pega/pega-mapping.ts +113 -47
- package/src/modules/pega/pegaBulkCheckSchema.ts +33 -0
- package/src/modules/pega/references/PegaReferenceExtractor.ts +28 -0
- package/src/modules/pega/references/PxRuleReferences.ts +83 -0
- package/src/modules/pega/resolve/PegaResolutionPass.ts +131 -0
- package/src/modules/pega/resolve/PegaResolutionResolver.ts +136 -0
- package/src/modules/pega/schema/PegaSchemaCreator.ts +91 -0
- package/src/modules/pega/schema/SchemaAnalyzeService.ts +7 -0
- package/src/modules/pega/schema/__tests__/PegaSchemaCreator.test.ts +64 -0
- package/src/modules/pega/schemas/ingest-rule.schema.ts +10 -2
- package/src/modules/pega/security/PegaEvaluationSandbox.ts +22 -11
- package/src/modules/pega/storage/PegaResolutionStore.ts +151 -0
- package/src/modules/pega/strategies/ActivityParserStrategy.ts +2 -2
- package/src/modules/pega/strategies/DataTransformParserStrategy.ts +2 -2
- package/src/modules/pega/strategies/DefaultPegaParserStrategy.ts +2 -2
- package/src/modules/pega/strategies/KbDrivenPegaParserStrategy.ts +2 -2
- package/src/modules/sandbox/ExecutionManager.ts +165 -0
- package/src/modules/sandbox/Reaper.ts +39 -0
- package/src/modules/sandbox/SandboxModule.ts +89 -0
- package/src/modules/sandbox/SessionStore.ts +56 -0
- package/src/modules/sandbox/errors.ts +57 -0
- package/src/modules/sandbox/executors/DockerExecutor.ts +282 -0
- package/src/modules/sandbox/executors/IExecutor.ts +32 -0
- package/src/modules/sandbox/executors/LocalExecutor.ts +137 -0
- package/src/modules/sandbox/executors/dockerHostConfig.ts +60 -0
- package/src/modules/sandbox/executors/hardening.ts +26 -0
- package/src/modules/sandbox/executors/mountSecurity.ts +69 -0
- package/src/modules/sandbox/executors/result.ts +31 -0
- package/src/modules/sandbox/models.ts +97 -0
- package/src/modules/sandbox/parsers/OutputBuffer.ts +62 -0
- package/src/modules/sandbox/parsers/TestResultParser.ts +183 -0
- package/src/modules/sandbox/tools/tool-definitions.ts +116 -0
- package/src/modules/sandbox/tools/tool-handlers.ts +265 -0
- package/src/modules/security/gateguard/__tests__/GateGuardRepository.test.ts +5 -5
- package/src/server/HttpServer.ts +63 -9
- package/src/server/__tests__/sa4e217-uat.test.ts +139 -0
- package/src/server/middleware/__tests__/rate-limiter.test.ts +75 -4
- package/src/server/middleware/rate-limiter.ts +94 -8
- package/src/server/routes/__tests__/enrichment-status-routes.test.ts +140 -0
- package/src/server/routes/__tests__/pega-bulk-check.test.ts +196 -0
- package/src/server/routes/__tests__/pega-schema-routes.test.ts +75 -0
- package/src/server/routes/admin/analytics.ts +12 -13
- package/src/server/routes/admin/config.ts +17 -0
- package/src/server/routes/admin/database.ts +17 -5
- package/src/server/routes/admin/index.ts +3 -1
- package/src/server/routes/admin/kb-entries.ts +140 -64
- package/src/server/routes/admin/kb-graph.ts +28 -0
- package/src/server/routes/api-index-decoupled.ts +46 -25
- package/src/server/routes/api-index.ts +23 -9
- package/src/server/routes/enrichment-status-routes.ts +5 -3
- package/src/server/routes/mcp/servers.ts +243 -0
- package/src/server/routes/pega-api.ts +170 -13
- package/src/server/routes/pega-ingest-rule.ts +23 -5
- package/src/server/routes/pega-references.ts +93 -0
- package/src/server/routes/pega-stream.ts +22 -5
- package/src/server/routes/rate-limit-config-routes.ts +111 -0
- package/src/server/routes/sa4e-215/__tests__/sa4e-215.routes.test.ts +239 -0
- package/src/server/routes/sa4e-215/auth.ts +139 -0
- package/src/server/routes/sa4e-215/decisions.ts +146 -0
- package/src/server/routes/sa4e-215/guard.ts +32 -0
- package/src/server/routes/sa4e-215/index.ts +23 -0
- package/src/server/routes/schemas/index-schemas.ts +45 -0
- package/src/servers/atlassian/clients/kb-cache-client.ts +152 -0
- package/src/servers/atlassian/tools/jira-issue-tools.ts +7 -2
- package/src/shared/EventBus.ts +2 -0
- package/src/shared/schemas/EnrichmentStatusSchema.ts +2 -0
- package/src/shared/schemas/__tests__/EnrichmentStatusSchema.test.ts +85 -0
- package/src/shim-better-sqlite3.ts +46 -0
- package/src/tool-router/ToolHandlerDecorators.ts +12 -4
- package/src/types/tool.ts +1 -1
- package/src/viewer/admin/index.html +61 -4
- package/src/viewer/admin/kb-graph-renderer.js +494 -140
- package/src/viewer/admin/utils/localStorageSync.js +56 -0
- package/src/viewer/admin/utils/wildcardMatcher.js +23 -0
- package/tests/e2e/pega-schema.e2e.test.ts +49 -0
- package/tests/e2e/setup/global-setup.ts +1 -1
- package/tests/integration/atlassian/jira-description-layout.it.test.ts +44 -0
- package/tests/integration/debug_sandbox.test.ts +126 -0
- package/tests/integration/debug_sandbox.ts +130 -0
- package/tests/integration/mcp-tools.test.ts +6 -6
- package/tests/integration/migration-v5-upgrade.it.test.ts +25 -31
- package/tests/integration/reindex.it.test.ts +16 -17
- package/tests/integration/sandbox.it.test.ts +151 -0
- package/tests/unit/atlassian/jira-issue-tools.test.ts +101 -0
- package/tests/unit/kb-graph/localStorageSync.test.ts +38 -0
- package/tests/unit/kb-graph/wildcardMatcher.test.ts +35 -0
- package/tests/unit/sandbox/ExecutionManager.test.ts +70 -0
- package/tests/unit/sandbox/LocalExecutor.test.ts +71 -0
- package/tests/unit/sandbox/OutputBuffer.test.ts +30 -0
- package/tests/unit/sandbox/Reaper.test.ts +20 -0
- package/tests/unit/sandbox/SandboxModule.test.ts +54 -0
- package/tests/unit/sandbox/SessionStore.test.ts +61 -0
- package/tests/unit/sandbox/TestResultParser.test.ts +64 -0
- package/tests/unit/sandbox/dockerHostConfig.test.ts +49 -0
- package/tests/unit/sandbox/mockLogger.ts +20 -0
- package/tests/unit/sandbox/mountSecurity.test.ts +42 -0
- package/tsconfig.json +3 -1
- package/.code-intel/file-meta.json +0 -1
- package/.code-intel/server-start.log +0 -49
- package/.code-intel/server.log +0 -175
- package/.env.test +0 -24
- package/dist/admin/db/index.d.ts +0 -13
- package/dist/admin/db/index.js +0 -13
- package/dist/admin/db/index.js.map +0 -1
- package/dist/admin/index.d.ts +0 -13
- package/dist/admin/index.js +0 -73
- package/dist/admin/index.js.map +0 -1
- package/dist/admin/middleware/audit.middleware.d.ts +0 -13
- package/dist/admin/middleware/audit.middleware.js +0 -57
- package/dist/admin/middleware/audit.middleware.js.map +0 -1
- package/dist/admin/middleware/rate-limit.middleware.d.ts +0 -2
- package/dist/admin/middleware/rate-limit.middleware.js +0 -47
- package/dist/admin/middleware/rate-limit.middleware.js.map +0 -1
- package/dist/admin/middleware/rbac.middleware.d.ts +0 -8
- package/dist/admin/middleware/rbac.middleware.js +0 -111
- package/dist/admin/middleware/rbac.middleware.js.map +0 -1
- package/dist/admin/routes/analytics.router.d.ts +0 -3
- package/dist/admin/routes/analytics.router.js +0 -47
- package/dist/admin/routes/analytics.router.js.map +0 -1
- package/dist/admin/routes/audit.router.d.ts +0 -4
- package/dist/admin/routes/audit.router.js +0 -27
- package/dist/admin/routes/audit.router.js.map +0 -1
- package/dist/admin/routes/config.router.d.ts +0 -4
- package/dist/admin/routes/config.router.js +0 -23
- package/dist/admin/routes/config.router.js.map +0 -1
- package/dist/admin/routes/dashboard.router.d.ts +0 -5
- package/dist/admin/routes/dashboard.router.js +0 -11
- package/dist/admin/routes/dashboard.router.js.map +0 -1
- package/dist/admin/routes/helpers.d.ts +0 -26
- package/dist/admin/routes/helpers.js +0 -13
- package/dist/admin/routes/helpers.js.map +0 -1
- package/dist/admin/routes/kb-admin.router.d.ts +0 -5
- package/dist/admin/routes/kb-admin.router.js +0 -49
- package/dist/admin/routes/kb-admin.router.js.map +0 -1
- package/dist/admin/routes/mcp-admin.router.d.ts +0 -4
- package/dist/admin/routes/mcp-admin.router.js +0 -35
- package/dist/admin/routes/mcp-admin.router.js.map +0 -1
- package/dist/admin/routes/rbac.router.d.ts +0 -4
- package/dist/admin/routes/rbac.router.js +0 -71
- package/dist/admin/routes/rbac.router.js.map +0 -1
- package/dist/admin/routes/search.router.d.ts +0 -3
- package/dist/admin/routes/search.router.js +0 -20
- package/dist/admin/routes/search.router.js.map +0 -1
- package/dist/admin/routes/user.router.d.ts +0 -4
- package/dist/admin/routes/user.router.js +0 -54
- package/dist/admin/routes/user.router.js.map +0 -1
- package/dist/admin/services/audit.service.d.ts +0 -13
- package/dist/admin/services/audit.service.js +0 -40
- package/dist/admin/services/audit.service.js.map +0 -1
- package/dist/admin/services/config.service.d.ts +0 -10
- package/dist/admin/services/config.service.js +0 -31
- package/dist/admin/services/config.service.js.map +0 -1
- package/dist/admin/services/dashboard.service.d.ts +0 -9
- package/dist/admin/services/dashboard.service.js +0 -67
- package/dist/admin/services/dashboard.service.js.map +0 -1
- package/dist/admin/services/kb-admin.service.d.ts +0 -28
- package/dist/admin/services/kb-admin.service.js +0 -74
- package/dist/admin/services/kb-admin.service.js.map +0 -1
- package/dist/admin/services/mcp-admin.service.d.ts +0 -13
- package/dist/admin/services/mcp-admin.service.js +0 -40
- package/dist/admin/services/mcp-admin.service.js.map +0 -1
- package/dist/admin/services/rbac.service.d.ts +0 -16
- package/dist/admin/services/rbac.service.js +0 -109
- package/dist/admin/services/rbac.service.js.map +0 -1
- package/dist/admin/services/search.service.d.ts +0 -23
- package/dist/admin/services/search.service.js +0 -36
- package/dist/admin/services/search.service.js.map +0 -1
- package/dist/admin/services/sse.manager.d.ts +0 -12
- package/dist/admin/services/sse.manager.js +0 -66
- package/dist/admin/services/sse.manager.js.map +0 -1
- package/dist/admin/services/user.service.d.ts +0 -25
- package/dist/admin/services/user.service.js +0 -69
- package/dist/admin/services/user.service.js.map +0 -1
- package/dist/admin/types/admin.types.d.ts +0 -187
- package/dist/admin/types/admin.types.js +0 -28
- package/dist/admin/types/admin.types.js.map +0 -1
- package/dist/admin/types/api.types.d.ts +0 -41
- package/dist/admin/types/api.types.js +0 -44
- package/dist/admin/types/api.types.js.map +0 -1
- package/dist/config/BackendConfig.d.ts +0 -35
- package/dist/config/BackendConfig.js +0 -89
- package/dist/config/BackendConfig.js.map +0 -1
- package/dist/engine/parsers/languages/salesforce-meta/parsers.d.ts +0 -6
- package/dist/engine/parsers/languages/salesforce-meta/parsers.js +0 -94
- package/dist/engine/parsers/languages/salesforce-meta/parsers.js.map +0 -1
- package/dist/modules/pega/PegaGraphProjector.d.ts +0 -18
- package/dist/modules/pega/PegaGraphProjector.js +0 -80
- package/dist/modules/pega/PegaGraphProjector.js.map +0 -1
- package/dist/modules/pega/expression/PegaExpressionLexer.d.ts +0 -22
- package/dist/modules/pega/expression/PegaExpressionLexer.js +0 -217
- package/dist/modules/pega/expression/PegaExpressionLexer.js.map +0 -1
- package/dist/modules/pega/expression/PegaExpressionParser.d.ts +0 -18
- package/dist/modules/pega/expression/PegaExpressionParser.js +0 -151
- package/dist/modules/pega/expression/PegaExpressionParser.js.map +0 -1
- package/dist/modules/pega/security/PegaExpressionValidator.d.ts +0 -16
- package/dist/modules/pega/security/PegaExpressionValidator.js +0 -69
- package/dist/modules/pega/security/PegaExpressionValidator.js.map +0 -1
- package/dist/server/middleware/localhost-only.d.ts +0 -6
- package/dist/server/middleware/localhost-only.js +0 -21
- package/dist/server/middleware/localhost-only.js.map +0 -1
- package/scripts/drop-unused-tables.ts +0 -49
- package/scripts/migrate-sa4e-119.ts +0 -245
- package/src/config/BackendConfig.ts +0 -92
- package/src/engine/parsers/languages/salesforce-meta/parsers.ts +0 -105
- package/src/modules/pega/PegaGraphProjector.ts +0 -104
- package/src/modules/pega/__tests__/expression/PegaExpressionLexer.test.ts +0 -78
- package/src/modules/pega/__tests__/expression/PegaExpressionParser.test.ts +0 -92
- package/src/modules/pega/__tests__/expression/PegaExpressionProperty.test.ts +0 -490
- package/src/modules/pega/expression/PegaExpressionLexer.ts +0 -263
- package/src/modules/pega/expression/PegaExpressionParser.ts +0 -203
- package/src/modules/pega/security/PegaExpressionValidator.ts +0 -93
- package/src/server/middleware/__tests__/localhost-only.test.ts +0 -82
- package/src/server/middleware/localhost-only.ts +0 -29
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"activeEngine": "sqlite",
|
|
3
|
+
"engines": {
|
|
4
|
+
"sqlite": { "dbPath": "index.db", "active": true },
|
|
5
|
+
"postgresql": {
|
|
6
|
+
"host": "<PG_HOST>",
|
|
7
|
+
"port": 5432,
|
|
8
|
+
"username": "<PG_USER>",
|
|
9
|
+
"password": "<PG_PASSWORD>",
|
|
10
|
+
"database": "<PG_DATABASE>",
|
|
11
|
+
"ssl": false,
|
|
12
|
+
"active": false,
|
|
13
|
+
"pool": { "min": 2, "max": 10 }
|
|
14
|
+
},
|
|
15
|
+
"mysql": {
|
|
16
|
+
"host": "<MYSQL_HOST>",
|
|
17
|
+
"port": 3306,
|
|
18
|
+
"username": "<MYSQL_USER>",
|
|
19
|
+
"password": "<MYSQL_PASSWORD>",
|
|
20
|
+
"database": "<MYSQL_DATABASE>",
|
|
21
|
+
"ssl": false,
|
|
22
|
+
"active": false,
|
|
23
|
+
"pool": { "min": 2, "max": 10 }
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"migration": { "lastMigration": null, "backupSqlitePaths": [] }
|
|
27
|
+
}
|
package/.env.example
CHANGED
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
# --- Server ---
|
|
5
5
|
NODE_ENV=development
|
|
6
6
|
PORT=48721
|
|
7
|
+
# Per-IP rate limit (requests per minute). Defaults: 6000 in production, 10000 otherwise.
|
|
8
|
+
# Raise this when many clients share one egress IP (proxy/NAT) behind the remote server.
|
|
9
|
+
RATE_LIMIT_MAX_RPM=6000
|
|
10
|
+
# Set to 'true' when behind a reverse proxy so x-forwarded-for is used for the client IP.
|
|
11
|
+
TRUST_PROXY=false
|
|
7
12
|
|
|
8
13
|
# --- Database ---
|
|
9
14
|
DATABASE_ADAPTER=postgresql
|
|
@@ -34,3 +39,36 @@ API_KEY_REQUIRED=false
|
|
|
34
39
|
# --- Logging ---
|
|
35
40
|
LOG_LEVEL=info
|
|
36
41
|
LOG_FORMAT=pretty
|
|
42
|
+
|
|
43
|
+
# =============================================================================
|
|
44
|
+
# SA4E-241 — Incremental Checksum Indexing (env template — placeholders only)
|
|
45
|
+
# =============================================================================
|
|
46
|
+
|
|
47
|
+
# --- Auth / tenant isolation (SEC-01) ---
|
|
48
|
+
# When true, /pega/* requires identity (X-Project-Id header or JWT `pid` claim).
|
|
49
|
+
# projectId is derived from the authenticated identity — body.projectId is only
|
|
50
|
+
# used to cross-check (mismatch -> 403). NEVER a hardcoded default.
|
|
51
|
+
CODE_INTEL_REQUIRE_AUTH=false
|
|
52
|
+
# JWT signing/verification secret. Set a strong random value in real envs.
|
|
53
|
+
# Leave EMPTY here — do NOT commit a real secret. Use a secret manager in prod.
|
|
54
|
+
KB_TOKEN_SECRET=
|
|
55
|
+
|
|
56
|
+
# --- Pega credentials (SEC-03) — DO NOT hardcode; DO NOT commit real values ---
|
|
57
|
+
# Credentials must be provided by the extension via VS Code SecretStorage and
|
|
58
|
+
# forwarded per-request (authHeader). These template keys exist only for local
|
|
59
|
+
# manual testing. The leaked pair SSA@TGB / pega123! MUST be rotated and is
|
|
60
|
+
# blocked by scripts/check-secrets.sh — use your own operator id/password here.
|
|
61
|
+
PEGA_ENDPOINT=http://localhost:8080/prweb
|
|
62
|
+
PEGA_USERNAME=<your-pega-operator-id>
|
|
63
|
+
PEGA_PASSWORD=<your-pega-password>
|
|
64
|
+
|
|
65
|
+
# --- Checksum download / zip-bomb guards (SEC-05) ---
|
|
66
|
+
# Trần tài nguyên cho resumable download + ZIP extraction (chống DoS/zip-bomb).
|
|
67
|
+
CHECKSUM_MAX_TOTAL_SIZE=209715200 # 200 MB — trần tổng bytes tải về
|
|
68
|
+
CHECKSUM_MAX_CHUNKS=4096 # trần số chunk (chống loop vô hạn)
|
|
69
|
+
CHECKSUM_MAX_UNCOMPRESSED_SIZE=524288000 # 500 MB — trần tổng bytes sau giải nén
|
|
70
|
+
CHECKSUM_MAX_ZIP_ENTRIES=50000 # trần số entry trong ZIP
|
|
71
|
+
|
|
72
|
+
# --- Bulk-check limits (SEC-04) ---
|
|
73
|
+
# Server-side cap on checksums per bulk-check request (client batches <= 1000).
|
|
74
|
+
BULK_CHECK_MAX_CHECKSUMS=5000
|
package/.lintstagedrc.json
CHANGED
package/Dockerfile
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# SA4E-44 Backend Dockerfile
|
|
2
|
-
# Node.js
|
|
3
|
-
FROM node:
|
|
2
|
+
# Node.js 22 + Hono backend for Code Intelligence MCP Server
|
|
3
|
+
FROM node:22-alpine AS base
|
|
4
4
|
|
|
5
5
|
WORKDIR /app
|
|
6
6
|
|
|
@@ -21,7 +21,7 @@ COPY src/ ./src/
|
|
|
21
21
|
RUN npm run build
|
|
22
22
|
|
|
23
23
|
# --- Production stage ---
|
|
24
|
-
FROM node:
|
|
24
|
+
FROM node:22-alpine AS production
|
|
25
25
|
|
|
26
26
|
WORKDIR /app
|
|
27
27
|
|
|
@@ -49,3 +49,41 @@ HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
|
|
|
49
49
|
CMD wget --no-verbose --tries=1 --spider http://localhost:48721/health || exit 1
|
|
50
50
|
|
|
51
51
|
CMD ["node", "dist/index.js"]
|
|
52
|
+
|
|
53
|
+
# -----------------------------------------------------------------------------
|
|
54
|
+
# Development stage — hot reload (tsx watch) for local dev. Non-root user.
|
|
55
|
+
# Build: docker compose -f docker-compose.yml -f docker-compose.dev.yml up
|
|
56
|
+
# -----------------------------------------------------------------------------
|
|
57
|
+
FROM base AS development
|
|
58
|
+
WORKDIR /app
|
|
59
|
+
ENV NODE_ENV=development
|
|
60
|
+
COPY package.json package-lock.json ./
|
|
61
|
+
RUN npm ci
|
|
62
|
+
COPY tsconfig.json ./
|
|
63
|
+
COPY src/ ./src/
|
|
64
|
+
RUN addgroup -g 1001 -S sa4e && \
|
|
65
|
+
adduser -S sa4e -u 1001 -G sa4e && \
|
|
66
|
+
chown -R sa4e:sa4e /app
|
|
67
|
+
USER sa4e
|
|
68
|
+
EXPOSE 48721
|
|
69
|
+
CMD ["npx", "tsx", "watch", "--ignore", ".code-intel/**", "src/index.ts"]
|
|
70
|
+
|
|
71
|
+
# -----------------------------------------------------------------------------
|
|
72
|
+
# Test stage — runs the vitest unit suite inside the container (non-root).
|
|
73
|
+
# Build: docker build --target test -t sa4e-backend-test .
|
|
74
|
+
# Run: docker run --rm sa4e-backend-test
|
|
75
|
+
# -----------------------------------------------------------------------------
|
|
76
|
+
FROM base AS test
|
|
77
|
+
WORKDIR /app
|
|
78
|
+
ENV NODE_ENV=test
|
|
79
|
+
COPY package.json package-lock.json ./
|
|
80
|
+
RUN npm ci
|
|
81
|
+
COPY tsconfig.json ./
|
|
82
|
+
COPY src/ ./src/
|
|
83
|
+
COPY tests/ ./tests/
|
|
84
|
+
COPY .env.test ./
|
|
85
|
+
RUN addgroup -g 1001 -S sa4e && \
|
|
86
|
+
adduser -S sa4e -u 1001 -G sa4e && \
|
|
87
|
+
chown -R sa4e:sa4e /app
|
|
88
|
+
USER sa4e
|
|
89
|
+
CMD ["npx", "vitest", "run"]
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
</p>
|
|
7
7
|
|
|
8
8
|
<p align="center">
|
|
9
|
-
<img src="https://img.shields.io/badge/version-1.
|
|
9
|
+
<img src="https://img.shields.io/badge/version-1.42.0-blue?style=for-the-badge" alt="Version">
|
|
10
10
|
<img src="https://img.shields.io/badge/tools-66+-teal?style=for-the-badge" alt="Tools">
|
|
11
11
|
<img src="https://img.shields.io/badge/node-%3E%3D18-green?style=for-the-badge" alt="Node">
|
|
12
12
|
</p>
|
|
@@ -38,7 +38,7 @@ Server starts at **http://localhost:48721**. Verify it's running:
|
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
40
|
curl http://localhost:48721/health
|
|
41
|
-
# → {"status":"healthy","version":"1.
|
|
41
|
+
# → {"status":"healthy","version":"1.42.0","uptime":5,"tools_loaded":52}
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
### Development Mode (auto-reload)
|
|
@@ -233,6 +233,7 @@ The embedding model is expected at `.code-intel/models/model.onnx`. Download it:
|
|
|
233
233
|
|
|
234
234
|
| Version | Date | Ticket | Changes |
|
|
235
235
|
|---------|------|--------|---------|
|
|
236
|
+
| 1.42.0 | 2026-09-08 | SA4E-301 | Multi-language tree-sitter parsers (C/C++/C#/PHP/Ruby/Scala/Swift/Kotlin) via shared GenericTreeSitterParser + regex fallback; symbol-kind fixes (struct/enum naming, method promotion, variable/property/constant separation, dedupe). Salesforce indexing (Apex/LWC/Aura/Visualforce/meta) with grammars copied to dist. KB Graph edges rebuilt from `relationships` (MembershipEdgeStrategy CONTAINS + FileContainsSymbolStrategy + inherits/implements resolve-by-name); auto-heal backfill (ensure-sa4e-301), unused edge tables dropped (303), unique index (302). Enrichment dedup (single CodeEnrichmentTaskCreator + PENDING guard, orphan task cleanup 300). Continuous budget-driven KB Graph LOD renderer. Node.js 22 LTS. |
|
|
236
237
|
| 1.38.0 | 2026-08-25 | SA4E-214 | Extension-driven schema creation for Pega rule types. Dual-strategy harness analysis (HarnessParser + LlmSectionExtractor fallback for stream-rendered harnesses), new `/api/v1/pega/schema/{analyze,store,find,update}` endpoints, schema-guided code enrichment. Fixed: TaskWorker delegates CODE_ENRICHMENT to CodeEnrichmentHandler (Pega flow summary/pseudo_code), enrichment percent Math.floor, admin static vendor asset MIME type. Backend 2634 tests ✓. |
|
|
237
238
|
| 1.37.2 | 2026-08-24 | — | Proxy bug fix: global-fetch-patch defensive fallback for curl/powershell mode, cookie jar persistence, followRedirects, workspace-scoped config, PowerShell CLM compat, pwsh binary. SA4E-204/205/206 parallel orchestration docs. |
|
|
238
239
|
| 1.37.0 | 2026-08-24 | SA4E-193 | Config Commands — 4 slash commands (/create-new-agent, hook, steering, skill) with ValidationGate schema enforcement (closes GAP-01, fixes D-1..D-7), offline-safe template fallback. Consolidated release carrying SA4E-190 content. Ext tests 1621 ✓ · Backend 2621 ✓ |
|
package/dist/admin/db/core.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ export declare function initAdapters(): Promise<void>;
|
|
|
31
31
|
/** Reset cached DB instance and adapter (used after DB switch/migration) */
|
|
32
32
|
export declare function resetAdminDb(): void;
|
|
33
33
|
/**
|
|
34
|
-
* Get the raw
|
|
34
|
+
* Get the raw DB instance.
|
|
35
35
|
* @deprecated Use getDbAdapter() for new code. Kept for backward compat with tests.
|
|
36
36
|
*/
|
|
37
|
-
export declare function getAdminDb():
|
|
37
|
+
export declare function getAdminDb(): any;
|
package/dist/admin/db/core.js
CHANGED
|
@@ -30,6 +30,12 @@ export function getActiveEngine() {
|
|
|
30
30
|
if (!fs.existsSync(configPath))
|
|
31
31
|
return 'sqlite';
|
|
32
32
|
const raw = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
33
|
+
// Source of truth: per-engine `active` flag. Fallback to legacy activeEngine.
|
|
34
|
+
const engines = raw.engines || {};
|
|
35
|
+
for (const e of ['postgresql', 'mysql', 'sqlite']) {
|
|
36
|
+
if (engines[e] && engines[e].active === true)
|
|
37
|
+
return e;
|
|
38
|
+
}
|
|
33
39
|
return raw.activeEngine || 'sqlite';
|
|
34
40
|
}
|
|
35
41
|
catch {
|
|
@@ -43,10 +49,18 @@ export function getActiveDbConfig() {
|
|
|
43
49
|
if (!fs.existsSync(configPath))
|
|
44
50
|
return { engine: 'sqlite', dbPath: DB_PATH };
|
|
45
51
|
const raw = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
46
|
-
|
|
52
|
+
const engines = raw.engines || {};
|
|
53
|
+
let engine = raw.activeEngine;
|
|
54
|
+
for (const e of ['postgresql', 'mysql', 'sqlite']) {
|
|
55
|
+
if (engines[e] && engines[e].active === true) {
|
|
56
|
+
engine = e;
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (engine === 'sqlite' || !engine) {
|
|
47
61
|
return { engine: 'sqlite', dbPath: DB_PATH };
|
|
48
62
|
}
|
|
49
|
-
return { engine
|
|
63
|
+
return { engine, ...engines[engine] };
|
|
50
64
|
}
|
|
51
65
|
catch {
|
|
52
66
|
return { engine: 'sqlite', dbPath: DB_PATH };
|
|
@@ -109,6 +123,14 @@ export async function initAdapters() {
|
|
|
109
123
|
const adapter = DatabaseAdapterFactory.create(activeConfig);
|
|
110
124
|
await adapter.connect();
|
|
111
125
|
dbAdapter = adapter;
|
|
126
|
+
// Initialize schema and seed defaults for PostgreSQL/MySQL
|
|
127
|
+
try {
|
|
128
|
+
initSchema(adapter);
|
|
129
|
+
seedDefaults(adapter);
|
|
130
|
+
}
|
|
131
|
+
catch (err) {
|
|
132
|
+
logger.error({ err }, '[admin] Failed to init schema/seed defaults');
|
|
133
|
+
}
|
|
112
134
|
logger.info({ engine }, '[admin] DB adapter connected and ready');
|
|
113
135
|
}
|
|
114
136
|
/** Reset cached DB instance and adapter (used after DB switch/migration) */
|
|
@@ -120,11 +142,12 @@ export function resetAdminDb() {
|
|
|
120
142
|
}
|
|
121
143
|
}
|
|
122
144
|
/**
|
|
123
|
-
* Get the raw
|
|
145
|
+
* Get the raw DB instance.
|
|
124
146
|
* @deprecated Use getDbAdapter() for new code. Kept for backward compat with tests.
|
|
125
147
|
*/
|
|
126
148
|
export function getAdminDb() {
|
|
127
149
|
const adapter = getUnifiedSqliteAdapter();
|
|
128
|
-
return adapter
|
|
150
|
+
// getRawDb removed; return adapter directly for compat
|
|
151
|
+
return adapter;
|
|
129
152
|
}
|
|
130
153
|
//# sourceMappingURL=core.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/admin/db/core.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAEvF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC;AAEvD,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AAEjD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;AAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AAClE,4DAA4D;AAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;AAE5D,mFAAmF;AACnF,MAAM,UAAU,cAAc;IAC5B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QACxD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO,QAAQ,CAAC;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7D,OAAO,GAAG,CAAC,YAAY,IAAI,QAAQ,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,QAAQ,CAAC;IAAC,CAAC;AAC9B,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QACxD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO,EAAE,MAAM,EAAE,QAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QACtF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7D,IAAI,GAAG,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/admin/db/core.ts"],"names":[],"mappings":"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"}
|
package/dist/admin/db/schema.js
CHANGED
|
@@ -39,6 +39,8 @@ export function seedDefaults(db) {
|
|
|
39
39
|
if (!groupExists) {
|
|
40
40
|
seedAccessGroups(db);
|
|
41
41
|
}
|
|
42
|
+
// Ensure admin group has all permissions even after code changes
|
|
43
|
+
ensureAdminPermissions(db);
|
|
42
44
|
const userExists = db.get('SELECT 1 FROM users WHERE username = ?', ['admin']);
|
|
43
45
|
if (!userExists) {
|
|
44
46
|
seedAdminUser(db);
|
|
@@ -46,33 +48,43 @@ export function seedDefaults(db) {
|
|
|
46
48
|
}
|
|
47
49
|
function seedAccessGroups(db) {
|
|
48
50
|
const now = new Date().toISOString();
|
|
49
|
-
db.run(`INSERT INTO access_groups (access_group_id, access_group_name, is_system_group, created_at, updated_at)
|
|
51
|
+
db.run(`INSERT OR IGNORE INTO access_groups (access_group_id, access_group_name, is_system_group, created_at, updated_at)
|
|
50
52
|
VALUES (?, ?, 1, ?, ?)`, ['grp-admin', 'Administrators', now, now]);
|
|
51
53
|
const allPerms = [
|
|
52
54
|
'DASHBOARD_VIEW', 'KB_READ', 'KB_WRITE', 'KB_PROMOTE', 'KB_IMPORT_EXPORT',
|
|
53
55
|
'MCP_ACCESS', 'MCP_MANAGE', 'USER_MANAGE', 'RBAC_MANAGE', 'CONFIG_EDIT',
|
|
54
|
-
'SEARCH_EXPLORE', 'AUDIT_VIEW', 'GRAPH_VIEW', 'ANALYTICS_VIEW',
|
|
56
|
+
'SEARCH_EXPLORE', 'AUDIT_VIEW', 'GRAPH_VIEW', 'ANALYTICS_VIEW', 'GRAPH_MAINTAIN',
|
|
55
57
|
];
|
|
56
58
|
for (const perm of allPerms) {
|
|
57
|
-
db.run('INSERT INTO group_permissions (access_group_id, permission_id, role_data) VALUES (?, ?, ?)', ['grp-admin', perm, '{}']);
|
|
59
|
+
db.run('INSERT OR IGNORE INTO group_permissions (access_group_id, permission_id, role_data) VALUES (?, ?, ?)', ['grp-admin', perm, '{}']);
|
|
58
60
|
}
|
|
59
|
-
db.run(`INSERT INTO access_groups (access_group_id, access_group_name, is_system_group, created_at, updated_at)
|
|
61
|
+
db.run(`INSERT OR IGNORE INTO access_groups (access_group_id, access_group_name, is_system_group, created_at, updated_at)
|
|
60
62
|
VALUES (?, ?, 0, ?, ?)`, ['grp-dev', 'Developers', now, now]);
|
|
61
63
|
const devPerms = ['DASHBOARD_VIEW', 'KB_READ', 'KB_WRITE', 'MCP_ACCESS', 'SEARCH_EXPLORE', 'GRAPH_VIEW', 'ANALYTICS_VIEW'];
|
|
62
64
|
for (const perm of devPerms) {
|
|
63
|
-
db.run('INSERT INTO group_permissions (access_group_id, permission_id, role_data) VALUES (?, ?, ?)', ['grp-dev', perm, '{}']);
|
|
65
|
+
db.run('INSERT OR IGNORE INTO group_permissions (access_group_id, permission_id, role_data) VALUES (?, ?, ?)', ['grp-dev', perm, '{}']);
|
|
64
66
|
}
|
|
65
|
-
db.run(`INSERT INTO access_groups (access_group_id, access_group_name, is_system_group, created_at, updated_at)
|
|
67
|
+
db.run(`INSERT OR IGNORE INTO access_groups (access_group_id, access_group_name, is_system_group, created_at, updated_at)
|
|
66
68
|
VALUES (?, ?, 0, ?, ?)`, ['grp-viewer', 'Viewers', now, now]);
|
|
67
69
|
const viewerPerms = ['DASHBOARD_VIEW', 'KB_READ', 'SEARCH_EXPLORE', 'GRAPH_VIEW', 'ANALYTICS_VIEW'];
|
|
68
70
|
for (const perm of viewerPerms) {
|
|
69
|
-
db.run('INSERT INTO group_permissions (access_group_id, permission_id, role_data) VALUES (?, ?, ?)', ['grp-viewer', perm, '{}']);
|
|
71
|
+
db.run('INSERT OR IGNORE INTO group_permissions (access_group_id, permission_id, role_data) VALUES (?, ?, ?)', ['grp-viewer', perm, '{}']);
|
|
70
72
|
}
|
|
71
|
-
db.run(`INSERT INTO access_groups (access_group_id, access_group_name, is_system_group, created_at, updated_at)
|
|
73
|
+
db.run(`INSERT OR IGNORE INTO access_groups (access_group_id, access_group_name, is_system_group, created_at, updated_at)
|
|
72
74
|
VALUES (?, ?, 0, ?, ?)`, ['grp-mcp-ops', 'MCP Operators', now, now]);
|
|
73
75
|
const mcpPerms = ['DASHBOARD_VIEW', 'MCP_ACCESS', 'MCP_MANAGE'];
|
|
74
76
|
for (const perm of mcpPerms) {
|
|
75
|
-
db.run('INSERT INTO group_permissions (access_group_id, permission_id, role_data) VALUES (?, ?, ?)', ['grp-mcp-ops', perm, '{}']);
|
|
77
|
+
db.run('INSERT OR IGNORE INTO group_permissions (access_group_id, permission_id, role_data) VALUES (?, ?, ?)', ['grp-mcp-ops', perm, '{}']);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
function ensureAdminPermissions(db) {
|
|
81
|
+
const allPerms = [
|
|
82
|
+
'DASHBOARD_VIEW', 'KB_READ', 'KB_WRITE', 'KB_PROMOTE', 'KB_IMPORT_EXPORT',
|
|
83
|
+
'MCP_ACCESS', 'MCP_MANAGE', 'USER_MANAGE', 'RBAC_MANAGE', 'CONFIG_EDIT',
|
|
84
|
+
'SEARCH_EXPLORE', 'AUDIT_VIEW', 'GRAPH_VIEW', 'ANALYTICS_VIEW', 'GRAPH_MAINTAIN',
|
|
85
|
+
];
|
|
86
|
+
for (const perm of allPerms) {
|
|
87
|
+
db.run('INSERT OR IGNORE INTO group_permissions (access_group_id, permission_id, role_data) VALUES (?, ?, ?)', ['grp-admin', perm, '{}']);
|
|
76
88
|
}
|
|
77
89
|
}
|
|
78
90
|
function seedAdminUser(db) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/admin/db/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,wEAAwE;AACxE,MAAM,UAAU,UAAU,CAAC,EAAuB;IAChD,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAE1B,uEAAuE;IACvE,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;IACpF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;IAAC,CAAC;IAC5F,EAAE,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;IAEzF,4DAA4D;IAC5D,EAAE,CAAC,IAAI,CAAC;;;;;;;;GAQP,CAAC,CAAC;IAEH,2DAA2D;IAC3D,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;IACzF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;IAAC,CAAC;AAC9F,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,YAAY,CAAC,EAAuB;IAClD,MAAM,WAAW,GAAG,EAAE,CAAC,GAAG,CACxB,uDAAuD,EAAE,CAAC,WAAW,CAAC,CACvE,CAAC;IACF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/admin/db/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,wEAAwE;AACxE,MAAM,UAAU,UAAU,CAAC,EAAuB;IAChD,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAE1B,uEAAuE;IACvE,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;IACpF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;IAAC,CAAC;IAC5F,EAAE,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;IAEzF,4DAA4D;IAC5D,EAAE,CAAC,IAAI,CAAC;;;;;;;;GAQP,CAAC,CAAC;IAEH,2DAA2D;IAC3D,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;IACzF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;IAAC,CAAC;AAC9F,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,YAAY,CAAC,EAAuB;IAClD,MAAM,WAAW,GAAG,EAAE,CAAC,GAAG,CACxB,uDAAuD,EAAE,CAAC,WAAW,CAAC,CACvE,CAAC;IACF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IACD,iEAAiE;IACjE,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAE3B,MAAM,UAAU,GAAG,EAAE,CAAC,GAAG,CACvB,wCAAwC,EAAE,CAAC,OAAO,CAAC,CACpD,CAAC;IACF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,aAAa,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAuB;IAC/C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,EAAE,CAAC,GAAG,CACJ;4BACwB,EACxB,CAAC,WAAW,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,CAAC,CAC1C,CAAC;IACF,MAAM,QAAQ,GAAG;QACf,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB;QACzE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa;QACvE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB;KACjF,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,EAAE,CAAC,GAAG,CACJ,sGAAsG,EACtG,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAC1B,CAAC;IACJ,CAAC;IAED,EAAE,CAAC,GAAG,CACJ;4BACwB,EACxB,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CACpC,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;IAC3H,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,EAAE,CAAC,GAAG,CACJ,sGAAsG,EACtG,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CACxB,CAAC;IACJ,CAAC;IAED,EAAE,CAAC,GAAG,CACJ;4BACwB,EACxB,CAAC,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CACpC,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACpG,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,EAAE,CAAC,GAAG,CACJ,sGAAsG,EACtG,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAC3B,CAAC;IACJ,CAAC;IAED,EAAE,CAAC,GAAG,CACJ;4BACwB,EACxB,CAAC,aAAa,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,CAAC,CAC3C,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,gBAAgB,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IAChE,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,EAAE,CAAC,GAAG,CACJ,sGAAsG,EACtG,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAC5B,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,EAAuB;IACrD,MAAM,QAAQ,GAAG;QACf,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB;QACzE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa;QACvE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB;KACjF,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,EAAE,CAAC,GAAG,CACJ,sGAAsG,EACtG,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAC1B,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,EAAuB;IAC5C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IACvD,MAAM,eAAe,GAAG,WAAW,IAAI,WAAW,CAAC,MAAM,IAAI,EAAE;QAC7D,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;IAC3C,EAAE,CAAC,GAAG,CACJ;sDACkD,EAClD,CAAC,gBAAgB,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,GAAG,CAAC,CAC1D,CAAC;IAEF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kEAAkE;YAClE,0DAA0D;YAC1D,kCAAkC,eAAe,IAAI;YACrD,qEAAqE;YACrE,8CAA8C;YAC9C,gEAAgE,CACjE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,yDAAyD;AACzD,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsGxB,CAAC"}
|
|
@@ -31,7 +31,7 @@ export interface Permission {
|
|
|
31
31
|
description?: string;
|
|
32
32
|
roleDataSchema: object;
|
|
33
33
|
}
|
|
34
|
-
export type PermissionId = 'DASHBOARD_VIEW' | 'KB_READ' | 'KB_WRITE' | 'KB_PROMOTE' | 'KB_IMPORT_EXPORT' | 'MCP_ACCESS' | 'MCP_MANAGE' | 'USER_MANAGE' | 'RBAC_MANAGE' | 'CONFIG_EDIT' | 'SEARCH_EXPLORE' | 'AUDIT_VIEW' | 'GRAPH_VIEW' | 'ANALYTICS_VIEW';
|
|
34
|
+
export type PermissionId = 'DASHBOARD_VIEW' | 'KB_READ' | 'KB_WRITE' | 'KB_PROMOTE' | 'KB_IMPORT_EXPORT' | 'MCP_ACCESS' | 'MCP_MANAGE' | 'USER_MANAGE' | 'RBAC_MANAGE' | 'CONFIG_EDIT' | 'SEARCH_EXPLORE' | 'AUDIT_VIEW' | 'GRAPH_VIEW' | 'ANALYTICS_VIEW' | 'GRAPH_MAINTAIN';
|
|
35
35
|
export interface Session {
|
|
36
36
|
sessionId: string;
|
|
37
37
|
userId: string;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* SA4E-6 — Sandbox module configuration schema.
|
|
4
|
+
* Loaded as `config.sandbox` from the unified backend config (see config/index.ts).
|
|
5
|
+
* All values have safe defaults; do NOT hardcode these in executor code — read from here.
|
|
6
|
+
*/
|
|
7
|
+
export declare const DEFAULT_MOUNT_EXCLUDE_PATTERNS: string[];
|
|
8
|
+
export declare const DEFAULT_SANDBOX_RESOURCES: {
|
|
9
|
+
readonly memory: "512m";
|
|
10
|
+
readonly cpu: "1.0";
|
|
11
|
+
readonly disk: "1g";
|
|
12
|
+
readonly pidsLimit: 100;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Resolve the default sandbox execution mode for the current host at runtime.
|
|
16
|
+
*
|
|
17
|
+
* Full container isolation (cgroup memory/pid limits + `NetworkMode: 'none'`
|
|
18
|
+
* enforcement) is only reliable on a native Linux Docker Engine. Docker Desktop for
|
|
19
|
+
* Windows/macOS runs containers inside a WSL2/LinuxKit VM that ignores
|
|
20
|
+
* `NetworkMode: 'none'` at the network layer and enforces memory limits at the VM
|
|
21
|
+
* kernel layer, so those isolation guarantees do not hold there.
|
|
22
|
+
*
|
|
23
|
+
* Resolution rule (read `process.platform` + env var at runtime — do NOT hardcode):
|
|
24
|
+
* - Linux host → `docker`
|
|
25
|
+
* - Non-Linux host (Win/macOS) → `local`, UNLESS `SANDBOX_FULL_ISOLATION=true`
|
|
26
|
+
* is set (then `docker`)
|
|
27
|
+
*
|
|
28
|
+
* This is invoked lazily via zod's function-default, so the platform/env are read at
|
|
29
|
+
* parse time rather than import time.
|
|
30
|
+
*/
|
|
31
|
+
export declare function resolveDefaultSandboxMode(): 'docker' | 'local';
|
|
32
|
+
export declare const SandboxConfigSchema: z.ZodObject<{
|
|
33
|
+
defaultMode: z.ZodDefault<z.ZodEnum<["docker", "local"]>>;
|
|
34
|
+
fallbackToLocal: z.ZodDefault<z.ZodBoolean>;
|
|
35
|
+
maxSessions: z.ZodDefault<z.ZodNumber>;
|
|
36
|
+
defaultTtl: z.ZodDefault<z.ZodNumber>;
|
|
37
|
+
defaultImage: z.ZodDefault<z.ZodString>;
|
|
38
|
+
reaperIntervalMs: z.ZodDefault<z.ZodNumber>;
|
|
39
|
+
maxOutputBytes: z.ZodDefault<z.ZodNumber>;
|
|
40
|
+
commandTimeoutDefault: z.ZodDefault<z.ZodNumber>;
|
|
41
|
+
commandTimeoutMax: z.ZodDefault<z.ZodNumber>;
|
|
42
|
+
mountExcludePatterns: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
43
|
+
defaultResources: z.ZodDefault<z.ZodObject<{
|
|
44
|
+
memory: z.ZodDefault<z.ZodString>;
|
|
45
|
+
cpu: z.ZodDefault<z.ZodString>;
|
|
46
|
+
disk: z.ZodDefault<z.ZodString>;
|
|
47
|
+
pidsLimit: z.ZodDefault<z.ZodNumber>;
|
|
48
|
+
}, "strip", z.ZodTypeAny, {
|
|
49
|
+
memory: string;
|
|
50
|
+
cpu: string;
|
|
51
|
+
disk: string;
|
|
52
|
+
pidsLimit: number;
|
|
53
|
+
}, {
|
|
54
|
+
memory?: string | undefined;
|
|
55
|
+
cpu?: string | undefined;
|
|
56
|
+
disk?: string | undefined;
|
|
57
|
+
pidsLimit?: number | undefined;
|
|
58
|
+
}>>;
|
|
59
|
+
dockerSocket: z.ZodOptional<z.ZodString>;
|
|
60
|
+
}, "strip", z.ZodTypeAny, {
|
|
61
|
+
defaultMode: "docker" | "local";
|
|
62
|
+
fallbackToLocal: boolean;
|
|
63
|
+
maxSessions: number;
|
|
64
|
+
defaultTtl: number;
|
|
65
|
+
defaultImage: string;
|
|
66
|
+
reaperIntervalMs: number;
|
|
67
|
+
maxOutputBytes: number;
|
|
68
|
+
commandTimeoutDefault: number;
|
|
69
|
+
commandTimeoutMax: number;
|
|
70
|
+
mountExcludePatterns: string[];
|
|
71
|
+
defaultResources: {
|
|
72
|
+
memory: string;
|
|
73
|
+
cpu: string;
|
|
74
|
+
disk: string;
|
|
75
|
+
pidsLimit: number;
|
|
76
|
+
};
|
|
77
|
+
dockerSocket?: string | undefined;
|
|
78
|
+
}, {
|
|
79
|
+
defaultMode?: "docker" | "local" | undefined;
|
|
80
|
+
fallbackToLocal?: boolean | undefined;
|
|
81
|
+
maxSessions?: number | undefined;
|
|
82
|
+
defaultTtl?: number | undefined;
|
|
83
|
+
defaultImage?: string | undefined;
|
|
84
|
+
reaperIntervalMs?: number | undefined;
|
|
85
|
+
maxOutputBytes?: number | undefined;
|
|
86
|
+
commandTimeoutDefault?: number | undefined;
|
|
87
|
+
commandTimeoutMax?: number | undefined;
|
|
88
|
+
mountExcludePatterns?: string[] | undefined;
|
|
89
|
+
defaultResources?: {
|
|
90
|
+
memory?: string | undefined;
|
|
91
|
+
cpu?: string | undefined;
|
|
92
|
+
disk?: string | undefined;
|
|
93
|
+
pidsLimit?: number | undefined;
|
|
94
|
+
} | undefined;
|
|
95
|
+
dockerSocket?: string | undefined;
|
|
96
|
+
}>;
|
|
97
|
+
export type SandboxConfig = z.infer<typeof SandboxConfigSchema>;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* SA4E-6 — Sandbox module configuration schema.
|
|
4
|
+
* Loaded as `config.sandbox` from the unified backend config (see config/index.ts).
|
|
5
|
+
* All values have safe defaults; do NOT hardcode these in executor code — read from here.
|
|
6
|
+
*/
|
|
7
|
+
export const DEFAULT_MOUNT_EXCLUDE_PATTERNS = [
|
|
8
|
+
'.env',
|
|
9
|
+
'.env.*',
|
|
10
|
+
'*.pem',
|
|
11
|
+
'*.key',
|
|
12
|
+
'*.p12',
|
|
13
|
+
'.git/credentials',
|
|
14
|
+
'.ssh/',
|
|
15
|
+
'.aws/',
|
|
16
|
+
'.docker/config.json',
|
|
17
|
+
'node_modules/.cache/*/secrets*',
|
|
18
|
+
];
|
|
19
|
+
export const DEFAULT_SANDBOX_RESOURCES = {
|
|
20
|
+
memory: '512m',
|
|
21
|
+
cpu: '1.0',
|
|
22
|
+
disk: '1g',
|
|
23
|
+
pidsLimit: 100,
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Resolve the default sandbox execution mode for the current host at runtime.
|
|
27
|
+
*
|
|
28
|
+
* Full container isolation (cgroup memory/pid limits + `NetworkMode: 'none'`
|
|
29
|
+
* enforcement) is only reliable on a native Linux Docker Engine. Docker Desktop for
|
|
30
|
+
* Windows/macOS runs containers inside a WSL2/LinuxKit VM that ignores
|
|
31
|
+
* `NetworkMode: 'none'` at the network layer and enforces memory limits at the VM
|
|
32
|
+
* kernel layer, so those isolation guarantees do not hold there.
|
|
33
|
+
*
|
|
34
|
+
* Resolution rule (read `process.platform` + env var at runtime — do NOT hardcode):
|
|
35
|
+
* - Linux host → `docker`
|
|
36
|
+
* - Non-Linux host (Win/macOS) → `local`, UNLESS `SANDBOX_FULL_ISOLATION=true`
|
|
37
|
+
* is set (then `docker`)
|
|
38
|
+
*
|
|
39
|
+
* This is invoked lazily via zod's function-default, so the platform/env are read at
|
|
40
|
+
* parse time rather than import time.
|
|
41
|
+
*/
|
|
42
|
+
export function resolveDefaultSandboxMode() {
|
|
43
|
+
const fullIsolation = process.env.SANDBOX_FULL_ISOLATION === 'true' || process.platform === 'linux';
|
|
44
|
+
return fullIsolation ? 'docker' : 'local';
|
|
45
|
+
}
|
|
46
|
+
export const SandboxConfigSchema = z.object({
|
|
47
|
+
defaultMode: z.enum(['docker', 'local']).default(resolveDefaultSandboxMode),
|
|
48
|
+
fallbackToLocal: z.boolean().default(true),
|
|
49
|
+
maxSessions: z.number().int().positive().default(5),
|
|
50
|
+
defaultTtl: z.number().int().positive().default(1800),
|
|
51
|
+
defaultImage: z.string().default('node:20'),
|
|
52
|
+
reaperIntervalMs: z.number().int().positive().default(60000),
|
|
53
|
+
maxOutputBytes: z.number().int().positive().default(1048576),
|
|
54
|
+
commandTimeoutDefault: z.number().int().positive().default(300),
|
|
55
|
+
commandTimeoutMax: z.number().int().positive().default(600),
|
|
56
|
+
mountExcludePatterns: z.array(z.string()).default(DEFAULT_MOUNT_EXCLUDE_PATTERNS),
|
|
57
|
+
defaultResources: z
|
|
58
|
+
.object({
|
|
59
|
+
memory: z.string().default('512m'),
|
|
60
|
+
cpu: z.string().default('1.0'),
|
|
61
|
+
disk: z.string().default('1g'),
|
|
62
|
+
pidsLimit: z.number().int().positive().default(100),
|
|
63
|
+
})
|
|
64
|
+
.default(DEFAULT_SANDBOX_RESOURCES),
|
|
65
|
+
dockerSocket: z.string().optional(),
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=SandboxConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SandboxConfig.js","sourceRoot":"","sources":["../../src/config/SandboxConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAa;IACtD,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,kBAAkB;IAClB,OAAO;IACP,OAAO;IACP,qBAAqB;IACrB,gCAAgC;CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,MAAM,EAAE,MAAM;IACd,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,IAAI;IACV,SAAS,EAAE,GAAG;CACN,CAAC;AAEX;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,aAAa,GACjB,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,MAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IAChF,OAAO,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC;IAC3E,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACrD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IAC3C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IAC5D,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAC/D,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAC3D,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,8BAA8B,CAAC;IACjF,gBAAgB,EAAE,CAAC;SAChB,MAAM,CAAC;QACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;QAClC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;KACpD,CAAC;SACD,OAAO,CAAC,yBAAyB,CAAC;IACrC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC"}
|