sdlc-agent-4-enterprise-server 1.27.0 → 1.28.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.
Files changed (499) hide show
  1. package/README.md +1 -1
  2. package/dist/admin/admin-db.d.ts +1 -1
  3. package/dist/admin/admin-db.js +1 -1
  4. package/dist/admin/admin-db.js.map +1 -1
  5. package/dist/admin/db/audit.d.ts +1 -1
  6. package/dist/admin/db/audit.js +5 -5
  7. package/dist/admin/db/audit.js.map +1 -1
  8. package/dist/admin/db/config.d.ts +1 -1
  9. package/dist/admin/db/config.js +5 -5
  10. package/dist/admin/db/config.js.map +1 -1
  11. package/dist/admin/db/core.d.ts +8 -10
  12. package/dist/admin/db/core.js +21 -47
  13. package/dist/admin/db/core.js.map +1 -1
  14. package/dist/admin/db/groups.d.ts +1 -1
  15. package/dist/admin/db/groups.js +9 -9
  16. package/dist/admin/db/groups.js.map +1 -1
  17. package/dist/admin/db/kb-embeddings.d.ts +1 -1
  18. package/dist/admin/db/kb-embeddings.js +5 -5
  19. package/dist/admin/db/kb-embeddings.js.map +1 -1
  20. package/dist/admin/db/kb-entries.d.ts +1 -1
  21. package/dist/admin/db/kb-entries.js +7 -7
  22. package/dist/admin/db/kb-entries.js.map +1 -1
  23. package/dist/admin/db/kb-search.d.ts +1 -1
  24. package/dist/admin/db/kb-search.js +4 -4
  25. package/dist/admin/db/kb-search.js.map +1 -1
  26. package/dist/admin/db/kb-tags.d.ts +1 -1
  27. package/dist/admin/db/kb-tags.js +9 -9
  28. package/dist/admin/db/kb-tags.js.map +1 -1
  29. package/dist/admin/db/promotion.d.ts +1 -1
  30. package/dist/admin/db/promotion.js +5 -5
  31. package/dist/admin/db/promotion.js.map +1 -1
  32. package/dist/admin/db/query-logs.d.ts +1 -1
  33. package/dist/admin/db/query-logs.js +6 -6
  34. package/dist/admin/db/query-logs.js.map +1 -1
  35. package/dist/admin/db/sessions.d.ts +1 -1
  36. package/dist/admin/db/sessions.js +8 -8
  37. package/dist/admin/db/sessions.js.map +1 -1
  38. package/dist/admin/db/users.d.ts +1 -1
  39. package/dist/admin/db/users.js +15 -15
  40. package/dist/admin/db/users.js.map +1 -1
  41. package/dist/admin/routes/user.router.js +2 -1
  42. package/dist/admin/routes/user.router.js.map +1 -1
  43. package/dist/admin/services/dashboard.service.js +3 -3
  44. package/dist/admin/services/dashboard.service.js.map +1 -1
  45. package/dist/admin/services/rbac.service.js +3 -1
  46. package/dist/admin/services/rbac.service.js.map +1 -1
  47. package/dist/admin/services/user.service.js +6 -6
  48. package/dist/admin/services/user.service.js.map +1 -1
  49. package/dist/config/index.js +1 -0
  50. package/dist/config/index.js.map +1 -1
  51. package/dist/database/DatabaseManager.d.ts +2 -2
  52. package/dist/database/DatabaseManager.js +2 -2
  53. package/dist/database/adapters/MysqlAdapter.js +1 -1
  54. package/dist/database/adapters/MysqlAdapter.js.map +1 -1
  55. package/dist/database/adapters/PostgresAdapter.d.ts +6 -6
  56. package/dist/database/adapters/PostgresAdapter.js +10 -17
  57. package/dist/database/adapters/PostgresAdapter.js.map +1 -1
  58. package/dist/database/migration/MigrationService.js +2 -3
  59. package/dist/database/migration/MigrationService.js.map +1 -1
  60. package/dist/database/migration/TypeMapper.js +3 -0
  61. package/dist/database/migration/TypeMapper.js.map +1 -1
  62. package/dist/database/repositories/GraphRepository.js +1 -1
  63. package/dist/database/repositories/GraphRepository.js.map +1 -1
  64. package/dist/engine/analyzers/security/idor/IDORDetector.js +1 -1
  65. package/dist/engine/analyzers/security/idor/IDORDetector.js.map +1 -1
  66. package/dist/engine/analyzers/security/injection/PatternMatcher.d.ts +1 -1
  67. package/dist/engine/analyzers/security/injection/PatternMatcher.js +1 -1
  68. package/dist/engine/analyzers/security/injection/PatternMatcher.js.map +1 -1
  69. package/dist/engine/context/curated-helpers.js +2 -0
  70. package/dist/engine/context/curated-helpers.js.map +1 -1
  71. package/dist/engine/context/edit-context-service.js +1 -1
  72. package/dist/engine/context/edit-context-service.js.map +1 -1
  73. package/dist/engine/context/edit-helpers.js +2 -0
  74. package/dist/engine/context/edit-helpers.js.map +1 -1
  75. package/dist/engine/db/resolver/download.js.map +1 -1
  76. package/dist/engine/enrichment/CodeEnrichmentPromptBuilder.js +16 -3
  77. package/dist/engine/enrichment/CodeEnrichmentPromptBuilder.js.map +1 -1
  78. package/dist/engine/enrichment/CodeEnrichmentTaskCreator.d.ts +17 -1
  79. package/dist/engine/enrichment/CodeEnrichmentTaskCreator.js +65 -15
  80. package/dist/engine/enrichment/CodeEnrichmentTaskCreator.js.map +1 -1
  81. package/dist/engine/graph/call-graph-service.js +0 -1
  82. package/dist/engine/graph/call-graph-service.js.map +1 -1
  83. package/dist/engine/graph/graph-sync-service.d.ts +6 -4
  84. package/dist/engine/graph/graph-sync-service.js +97 -35
  85. package/dist/engine/graph/graph-sync-service.js.map +1 -1
  86. package/dist/engine/graph/impact-helpers.d.ts +1 -1
  87. package/dist/engine/graph/impact-helpers.js +1 -1
  88. package/dist/engine/graph/impact-helpers.js.map +1 -1
  89. package/dist/engine/graph/migrator.js +6 -4
  90. package/dist/engine/graph/migrator.js.map +1 -1
  91. package/dist/engine/indexer/file-watcher.js +1 -1
  92. package/dist/engine/indexer/file-watcher.js.map +1 -1
  93. package/dist/engine/indexer/index-helper.js +0 -2
  94. package/dist/engine/indexer/index-helper.js.map +1 -1
  95. package/dist/engine/indexer/index-operation-manager.d.ts +2 -1
  96. package/dist/engine/indexer/index-operation-manager.js +11 -1
  97. package/dist/engine/indexer/index-operation-manager.js.map +1 -1
  98. package/dist/engine/indexer/indexing-engine.d.ts +2 -0
  99. package/dist/engine/indexer/indexing-engine.js +10 -5
  100. package/dist/engine/indexer/indexing-engine.js.map +1 -1
  101. package/dist/engine/indexer/project-type/detector.js.map +1 -1
  102. package/dist/engine/indexer/types.d.ts +1 -0
  103. package/dist/engine/parsers/dependency-resolver.js +2 -2
  104. package/dist/engine/parsers/dependency-resolver.js.map +1 -1
  105. package/dist/engine/parsers/grammar-registry.js.map +1 -1
  106. package/dist/engine/parsers/languages/apex/declarations.js.map +1 -1
  107. package/dist/engine/parsers/languages/apex/helpers.js.map +1 -1
  108. package/dist/engine/parsers/languages/apex/parser.js.map +1 -1
  109. package/dist/engine/parsers/languages/go/helpers.js.map +1 -1
  110. package/dist/engine/parsers/languages/go/members.js.map +1 -1
  111. package/dist/engine/parsers/languages/go/parser.js.map +1 -1
  112. package/dist/engine/parsers/languages/java/java-parser.js.map +1 -1
  113. package/dist/engine/parsers/languages/kotlin/parser.js.map +1 -1
  114. package/dist/engine/parsers/languages/python/helpers.js.map +1 -1
  115. package/dist/engine/parsers/languages/python/members.js.map +1 -1
  116. package/dist/engine/parsers/languages/python/parser.js.map +1 -1
  117. package/dist/engine/parsers/languages/rust/members.js.map +1 -1
  118. package/dist/engine/parsers/languages/rust/parser.js.map +1 -1
  119. package/dist/engine/parsers/languages/ts-symbol-extractor/members.d.ts +1 -1
  120. package/dist/engine/parsers/languages/ts-symbol-extractor/members.js +1 -1
  121. package/dist/engine/parsers/languages/ts-symbol-extractor/members.js.map +1 -1
  122. package/dist/engine/parsers/signature-extractor.js +1 -1
  123. package/dist/engine/parsers/signature-extractor.js.map +1 -1
  124. package/dist/engine/tools/drawio-parser.js +1 -2
  125. package/dist/engine/tools/drawio-parser.js.map +1 -1
  126. package/dist/engine/tools/drawio-renderers.js +1 -0
  127. package/dist/engine/tools/drawio-renderers.js.map +1 -1
  128. package/dist/engine/tools/layout-models.d.ts +1 -2
  129. package/dist/index.js +2 -2
  130. package/dist/index.js.map +1 -1
  131. package/dist/knowledge/KnowledgeDb.d.ts +13 -0
  132. package/dist/knowledge/KnowledgeDb.js +43 -1
  133. package/dist/knowledge/KnowledgeDb.js.map +1 -1
  134. package/dist/knowledge/KnowledgeModule.d.ts +1 -1
  135. package/dist/knowledge/KnowledgeModule.js +3 -3
  136. package/dist/knowledge/KnowledgeModule.js.map +1 -1
  137. package/dist/knowledge/KnowledgeService.js +32 -3
  138. package/dist/knowledge/KnowledgeService.js.map +1 -1
  139. package/dist/modules/ModuleFactory.js.map +1 -1
  140. package/dist/modules/analytics/AnalyticsModule.js +2 -2
  141. package/dist/modules/analytics/AnalyticsModule.js.map +1 -1
  142. package/dist/modules/kb-graph/KBGraphModule.d.ts +1 -1
  143. package/dist/modules/kb-graph/KBGraphModule.js +3 -3
  144. package/dist/modules/kb-graph/KBGraphModule.js.map +1 -1
  145. package/dist/modules/kb-graph/service/index.d.ts +6 -0
  146. package/dist/modules/kb-graph/service/nodes.d.ts +1 -1
  147. package/dist/modules/kb-graph/service/nodes.js +1 -1
  148. package/dist/modules/kb-graph/service/nodes.js.map +1 -1
  149. package/dist/modules/kb-graph/service/spatial.d.ts +8 -1
  150. package/dist/modules/kb-graph/service/spatial.js +52 -3
  151. package/dist/modules/kb-graph/service/spatial.js.map +1 -1
  152. package/dist/modules/kb-graph/service/sync.d.ts +2 -1
  153. package/dist/modules/kb-graph/service/sync.js +7 -3
  154. package/dist/modules/kb-graph/service/sync.js.map +1 -1
  155. package/dist/modules/memory/MemoryModule.js.map +1 -1
  156. package/dist/modules/memory/MemoryModuleBuilder.js +7 -6
  157. package/dist/modules/memory/MemoryModuleBuilder.js.map +1 -1
  158. package/dist/modules/memory/MigrationRunner.js +1 -1
  159. package/dist/modules/memory/MigrationRunner.js.map +1 -1
  160. package/dist/modules/memory/dispatchers/analytics.js +38 -29
  161. package/dist/modules/memory/dispatchers/analytics.js.map +1 -1
  162. package/dist/modules/memory/dispatchers/crud.js +6 -6
  163. package/dist/modules/memory/dispatchers/crud.js.map +1 -1
  164. package/dist/modules/memory/dispatchers/enrich.js +7 -0
  165. package/dist/modules/memory/dispatchers/enrich.js.map +1 -1
  166. package/dist/modules/memory/dispatchers/graph-fallback.d.ts +1 -0
  167. package/dist/modules/memory/dispatchers/graph-fallback.js +5 -4
  168. package/dist/modules/memory/dispatchers/graph-fallback.js.map +1 -1
  169. package/dist/modules/memory/dispatchers/procedure.js +1 -1
  170. package/dist/modules/memory/dispatchers/procedure.js.map +1 -1
  171. package/dist/modules/memory/dispatchers/smart-ingest.js +4 -1
  172. package/dist/modules/memory/dispatchers/smart-ingest.js.map +1 -1
  173. package/dist/modules/memory/dispatchers/sync-code.js +1 -1
  174. package/dist/modules/memory/dispatchers/sync-code.js.map +1 -1
  175. package/dist/modules/memory/engine/core.js +2 -1
  176. package/dist/modules/memory/engine/core.js.map +1 -1
  177. package/dist/modules/memory/engine/crud.d.ts +7 -1
  178. package/dist/modules/memory/engine/crud.js +30 -56
  179. package/dist/modules/memory/engine/crud.js.map +1 -1
  180. package/dist/modules/memory/engine/pega-search.js +1 -1
  181. package/dist/modules/memory/engine/pega-search.js.map +1 -1
  182. package/dist/modules/memory/evolution/OutcomeService.js +0 -2
  183. package/dist/modules/memory/evolution/OutcomeService.js.map +1 -1
  184. package/dist/modules/memory/learning/ClusteringService.js +1 -3
  185. package/dist/modules/memory/learning/ClusteringService.js.map +1 -1
  186. package/dist/modules/memory/llm/LLMInitializer.js +3 -3
  187. package/dist/modules/memory/llm/LLMInitializer.js.map +1 -1
  188. package/dist/modules/memory/masking/MaskingMiddleware.js +0 -6
  189. package/dist/modules/memory/masking/MaskingMiddleware.js.map +1 -1
  190. package/dist/modules/memory/migrations/001-add-scope-columns.js +3 -1
  191. package/dist/modules/memory/migrations/001-add-scope-columns.js.map +1 -1
  192. package/dist/modules/memory/migrations/002-add-evolution-columns.js +6 -2
  193. package/dist/modules/memory/migrations/002-add-evolution-columns.js.map +1 -1
  194. package/dist/modules/memory/migrations/003-pending-tasks.js +1 -0
  195. package/dist/modules/memory/migrations/003-pending-tasks.js.map +1 -1
  196. package/dist/modules/memory/migrations/004-reset-sequences.js +5 -8
  197. package/dist/modules/memory/migrations/004-reset-sequences.js.map +1 -1
  198. package/dist/modules/memory/task-queue/PendingTaskRepository.d.ts +4 -1
  199. package/dist/modules/memory/task-queue/PendingTaskRepository.js +17 -5
  200. package/dist/modules/memory/task-queue/PendingTaskRepository.js.map +1 -1
  201. package/dist/modules/memory/task-queue/TaskWorker.d.ts +25 -23
  202. package/dist/modules/memory/task-queue/TaskWorker.js +135 -104
  203. package/dist/modules/memory/task-queue/TaskWorker.js.map +1 -1
  204. package/dist/modules/memory/task-queue/models.d.ts +4 -2
  205. package/dist/modules/memory/task-queue/models.js +4 -1
  206. package/dist/modules/memory/task-queue/models.js.map +1 -1
  207. package/dist/modules/orchestration/McpClientManager.js.map +1 -1
  208. package/dist/modules/orchestration/McpConfigService.js +2 -1
  209. package/dist/modules/orchestration/McpConfigService.js.map +1 -1
  210. package/dist/modules/orchestration/reindex/safeError.js +1 -1
  211. package/dist/modules/orchestration/reindex/safeError.js.map +1 -1
  212. package/dist/modules/pega/PegaCrawler.d.ts +1 -1
  213. package/dist/modules/pega/PegaCrawler.js +1 -1
  214. package/dist/modules/pega/PegaCrawler.js.map +1 -1
  215. package/dist/modules/pega/PegaGraphProjector.d.ts +3 -1
  216. package/dist/modules/pega/PegaGraphProjector.js +28 -9
  217. package/dist/modules/pega/PegaGraphProjector.js.map +1 -1
  218. package/dist/modules/pega/PegaIndexer.d.ts +6 -4
  219. package/dist/modules/pega/PegaIndexer.js +30 -42
  220. package/dist/modules/pega/PegaIndexer.js.map +1 -1
  221. package/dist/modules/pega/PegaKbSync.d.ts +14 -18
  222. package/dist/modules/pega/PegaKbSync.js +15 -171
  223. package/dist/modules/pega/PegaKbSync.js.map +1 -1
  224. package/dist/modules/pega/PegaRuleAstParser.js +2 -2
  225. package/dist/modules/pega/PegaRuleAstParser.js.map +1 -1
  226. package/dist/modules/pega/PegaRuleFetcherService.js +1 -1
  227. package/dist/modules/pega/PegaRuleFetcherService.js.map +1 -1
  228. package/dist/modules/pega/PegaService.d.ts +9 -11
  229. package/dist/modules/pega/PegaService.js +42 -186
  230. package/dist/modules/pega/PegaService.js.map +1 -1
  231. package/dist/modules/pega/PegaSymbolSync.js +3 -3
  232. package/dist/modules/pega/PegaSymbolSync.js.map +1 -1
  233. package/dist/modules/pega/declare/PegaDeclareParser.js +1 -13
  234. package/dist/modules/pega/declare/PegaDeclareParser.js.map +1 -1
  235. package/dist/modules/pega/deploy/PegaWorkerPool.js +2 -2
  236. package/dist/modules/pega/deploy/PegaWorkerPool.js.map +1 -1
  237. package/dist/modules/pega/expression/PegaExpressionParser.js.map +1 -1
  238. package/dist/modules/pega/expression/PegaWhenEvaluator.js +1 -1
  239. package/dist/modules/pega/expression/PegaWhenEvaluator.js.map +1 -1
  240. package/dist/modules/pega/metamodel/PegaMetaModelLoader.js +2 -7
  241. package/dist/modules/pega/metamodel/PegaMetaModelLoader.js.map +1 -1
  242. package/dist/modules/pega/pega-mapping.d.ts +6 -0
  243. package/dist/modules/pega/pega-mapping.js +14 -0
  244. package/dist/modules/pega/pega-mapping.js.map +1 -1
  245. package/dist/modules/pega/pega-utils.js.map +1 -1
  246. package/dist/modules/pega/references/PegaImpactAnalyzer.d.ts +1 -1
  247. package/dist/modules/pega/references/PegaImpactAnalyzer.js +1 -2
  248. package/dist/modules/pega/references/PegaImpactAnalyzer.js.map +1 -1
  249. package/dist/modules/pega/semantic/PegaRuleSimulator.d.ts +2 -2
  250. package/dist/modules/pega/semantic/PegaRuleSimulator.js +6 -6
  251. package/dist/modules/pega/semantic/PegaRuleSimulator.js.map +1 -1
  252. package/dist/modules/pega/semantic/PegaSemanticAnalyzer.js +0 -12
  253. package/dist/modules/pega/semantic/PegaSemanticAnalyzer.js.map +1 -1
  254. package/dist/modules/pega/ui/PegaHarnessAssembler.js.map +1 -1
  255. package/dist/modules/pega/ui/PegaSectionRenderer.js.map +1 -1
  256. package/dist/modules/pega/understanding/PegaRuleUnderstandingService.js +2 -2
  257. package/dist/modules/pega/understanding/PegaRuleUnderstandingService.js.map +1 -1
  258. package/dist/modules/security/SecurityModule.d.ts +1 -1
  259. package/dist/modules/security/SecurityModule.js +3 -3
  260. package/dist/modules/security/SecurityModule.js.map +1 -1
  261. package/dist/modules/security/gateguard/GateGuardService.js +1 -1
  262. package/dist/modules/security/gateguard/GateGuardService.js.map +1 -1
  263. package/dist/server/HttpServer.js.map +1 -1
  264. package/dist/server/routes/admin/analytics.js +11 -22
  265. package/dist/server/routes/admin/analytics.js.map +1 -1
  266. package/dist/server/routes/admin/config.js +15 -5
  267. package/dist/server/routes/admin/config.js.map +1 -1
  268. package/dist/server/routes/admin/context.js +2 -2
  269. package/dist/server/routes/admin/context.js.map +1 -1
  270. package/dist/server/routes/admin/database.js +2 -1
  271. package/dist/server/routes/admin/database.js.map +1 -1
  272. package/dist/server/routes/admin/index.js +2 -2
  273. package/dist/server/routes/admin/index.js.map +1 -1
  274. package/dist/server/routes/admin/kb-entries.js +43 -107
  275. package/dist/server/routes/admin/kb-entries.js.map +1 -1
  276. package/dist/server/routes/admin/kb-graph-spatial.d.ts +1 -1
  277. package/dist/server/routes/admin/kb-graph-spatial.js +4 -16
  278. package/dist/server/routes/admin/kb-graph-spatial.js.map +1 -1
  279. package/dist/server/routes/admin/kb-operations.js +6 -8
  280. package/dist/server/routes/admin/kb-operations.js.map +1 -1
  281. package/dist/server/routes/admin/static.d.ts +1 -1
  282. package/dist/server/routes/admin/static.js +1 -1
  283. package/dist/server/routes/admin/static.js.map +1 -1
  284. package/dist/server/routes/admin/users.js +3 -3
  285. package/dist/server/routes/admin/users.js.map +1 -1
  286. package/dist/server/routes/api-index-decoupled.d.ts +1 -0
  287. package/dist/server/routes/api-index.js +140 -116
  288. package/dist/server/routes/api-index.js.map +1 -1
  289. package/dist/server/routes/enrichment-status-routes.js +19 -2
  290. package/dist/server/routes/enrichment-status-routes.js.map +1 -1
  291. package/dist/server/routes/pega-api.js +11 -23
  292. package/dist/server/routes/pega-api.js.map +1 -1
  293. package/dist/server/routes/pega-stream-helpers.js +3 -3
  294. package/dist/server/routes/pega-stream-helpers.js.map +1 -1
  295. package/dist/server/routes/pega-stream.js +1 -2
  296. package/dist/server/routes/pega-stream.js.map +1 -1
  297. package/dist/server/routes/pega-sync-to-kb.d.ts +2 -2
  298. package/dist/server/routes/pega-sync-to-kb.js +6 -11
  299. package/dist/server/routes/pega-sync-to-kb.js.map +1 -1
  300. package/dist/servers/atlassian/tools/jira-user-tools.js.map +1 -1
  301. package/dist/shared/schemas/EnrichmentStatusSchema.d.ts +4 -4
  302. package/dist/tool-router/ToolHandlerDecorators.js +0 -3
  303. package/dist/tool-router/ToolHandlerDecorators.js.map +1 -1
  304. package/dist/viewer/admin/index.html +23 -36
  305. package/eslint.config.js +23 -6
  306. package/package.json +5 -1
  307. package/scripts/fix-stale-graph-nodes.ts +71 -0
  308. package/scripts/migrate-pega-symbols.ts +32 -13
  309. package/scripts/reset-enrichment.ts +54 -0
  310. package/src/admin/admin-db.ts +1 -1
  311. package/src/admin/db/audit.ts +5 -5
  312. package/src/admin/db/config.ts +5 -5
  313. package/src/admin/db/core.ts +22 -49
  314. package/src/admin/db/groups.ts +9 -9
  315. package/src/admin/db/kb-embeddings.ts +5 -5
  316. package/src/admin/db/kb-entries.ts +7 -7
  317. package/src/admin/db/kb-search.ts +4 -4
  318. package/src/admin/db/kb-tags.ts +9 -9
  319. package/src/admin/db/promotion.ts +5 -5
  320. package/src/admin/db/query-logs.ts +6 -6
  321. package/src/admin/db/sessions.ts +8 -8
  322. package/src/admin/db/users.ts +15 -15
  323. package/src/admin/middleware/rbac.middleware.ts +1 -1
  324. package/src/admin/routes/user.router.ts +1 -1
  325. package/src/admin/services/dashboard.service.ts +3 -3
  326. package/src/admin/services/rbac.service.ts +5 -1
  327. package/src/admin/services/user.service.ts +6 -6
  328. package/src/config/index.ts +1 -0
  329. package/src/database/DatabaseManager.ts +2 -2
  330. package/src/database/adapters/MysqlAdapter.ts +1 -1
  331. package/src/database/adapters/PostgresAdapter.ts +10 -16
  332. package/src/database/migration/MigrationService.ts +2 -3
  333. package/src/database/migration/TypeMapper.ts +3 -0
  334. package/src/database/repositories/GraphRepository.ts +1 -1
  335. package/src/engine/analyzers/security/idor/IDORDetector.ts +1 -1
  336. package/src/engine/analyzers/security/injection/InjectionScanner.ts +1 -1
  337. package/src/engine/analyzers/security/injection/PatternMatcher.ts +2 -2
  338. package/src/engine/analyzers/security/taint/TaintAnalyzer.ts +1 -1
  339. package/src/engine/analyzers/security/types/ssrf-types.ts +1 -1
  340. package/src/engine/analyzers/similarity/GitMiner.ts +1 -1
  341. package/src/engine/context/budget-allocator.ts +1 -1
  342. package/src/engine/context/curated-helpers.ts +3 -2
  343. package/src/engine/context/edit-context-service.ts +0 -2
  344. package/src/engine/context/edit-helpers.ts +2 -0
  345. package/src/engine/db/resolver/download.ts +0 -1
  346. package/src/engine/enrichment/CodeEnrichmentPromptBuilder.ts +16 -3
  347. package/src/engine/enrichment/CodeEnrichmentTaskCreator.ts +90 -21
  348. package/src/engine/enrichment/__tests__/CodeEnrichmentTaskCreator.test.ts +152 -0
  349. package/src/engine/enrichment/__tests__/enrichment-e2e.test.ts +239 -0
  350. package/src/engine/graph/call-graph-service.ts +2 -3
  351. package/src/engine/graph/graph-sync-service.ts +111 -35
  352. package/src/engine/graph/impact-helpers.ts +1 -1
  353. package/src/engine/graph/migrator.ts +6 -6
  354. package/src/engine/indexer/file-watcher.ts +1 -1
  355. package/src/engine/indexer/index-helper.ts +1 -3
  356. package/src/engine/indexer/index-operation-manager.ts +11 -1
  357. package/src/engine/indexer/indexing-engine.ts +12 -6
  358. package/src/engine/indexer/project-type/detector.ts +1 -1
  359. package/src/engine/indexer/types.ts +1 -0
  360. package/src/engine/parsers/dependency-resolver.ts +2 -2
  361. package/src/engine/parsers/embedding/body-extractor.ts +1 -1
  362. package/src/engine/parsers/grammar-registry.ts +0 -1
  363. package/src/engine/parsers/ignore/__tests__/ignore-parser.test.ts +0 -2
  364. package/src/engine/parsers/languages/apex/declarations.ts +1 -2
  365. package/src/engine/parsers/languages/apex/helpers.ts +2 -2
  366. package/src/engine/parsers/languages/apex/parser.ts +1 -2
  367. package/src/engine/parsers/languages/go/helpers.ts +1 -1
  368. package/src/engine/parsers/languages/go/members.ts +1 -1
  369. package/src/engine/parsers/languages/go/parser.ts +1 -2
  370. package/src/engine/parsers/languages/java/java-parser.ts +0 -1
  371. package/src/engine/parsers/languages/kotlin/parser.ts +0 -1
  372. package/src/engine/parsers/languages/python/helpers.ts +1 -1
  373. package/src/engine/parsers/languages/python/members.ts +1 -1
  374. package/src/engine/parsers/languages/python/parser.ts +1 -2
  375. package/src/engine/parsers/languages/rust/members.ts +1 -1
  376. package/src/engine/parsers/languages/rust/parser.ts +0 -1
  377. package/src/engine/parsers/languages/ts-symbol-extractor/members.ts +1 -1
  378. package/src/engine/parsers/languages/typescript-parser.ts +1 -1
  379. package/src/engine/parsers/signature-extractor.ts +1 -1
  380. package/src/engine/parsers/tree-sitter-indexer.ts +1 -1
  381. package/src/engine/tools/__tests__/artifact-analyzer.test.ts +0 -2
  382. package/src/engine/tools/__tests__/drawio-tool.test.ts +1 -1
  383. package/src/engine/tools/drawio-parser.ts +1 -3
  384. package/src/engine/tools/drawio-renderers.ts +4 -2
  385. package/src/engine/tools/layout-models.ts +1 -1
  386. package/src/index.ts +2 -2
  387. package/src/knowledge/KnowledgeDb.ts +50 -1
  388. package/src/knowledge/KnowledgeModule.ts +4 -4
  389. package/src/knowledge/KnowledgeService.ts +30 -2
  390. package/src/knowledge/__tests__/KnowledgeService.test.ts +52 -1
  391. package/src/knowledge/__tests__/routes.test.ts +23 -0
  392. package/src/modules/ModuleFactory.ts +0 -1
  393. package/src/modules/analytics/AnalyticsModule.ts +2 -3
  394. package/src/modules/kb-graph/KBGraphModule.ts +3 -3
  395. package/src/modules/kb-graph/service/nodes.ts +1 -1
  396. package/src/modules/kb-graph/service/spatial.ts +61 -4
  397. package/src/modules/kb-graph/service/sync.ts +8 -3
  398. package/src/modules/memory/MemoryModule.ts +0 -1
  399. package/src/modules/memory/MemoryModuleBuilder.ts +9 -10
  400. package/src/modules/memory/MigrationRunner.ts +1 -1
  401. package/src/modules/memory/__tests__/ClassifyService.test.ts +1 -1
  402. package/src/modules/memory/__tests__/IsolationLayer.test.ts +0 -1
  403. package/src/modules/memory/__tests__/ProjectIsolation.test.ts +0 -1
  404. package/src/modules/memory/__tests__/graph-fallback.test.ts +7 -7
  405. package/src/modules/memory/dispatchers/analytics.ts +50 -33
  406. package/src/modules/memory/dispatchers/crud.ts +6 -6
  407. package/src/modules/memory/dispatchers/enrich.ts +10 -0
  408. package/src/modules/memory/dispatchers/graph-fallback.ts +5 -4
  409. package/src/modules/memory/dispatchers/procedure.ts +1 -1
  410. package/src/modules/memory/dispatchers/smart-ingest.ts +1 -1
  411. package/src/modules/memory/dispatchers/sync-code.ts +2 -1
  412. package/src/modules/memory/engine/core.ts +2 -1
  413. package/src/modules/memory/engine/crud.ts +35 -66
  414. package/src/modules/memory/engine/pega-search.ts +1 -1
  415. package/src/modules/memory/evolution/OutcomeService.ts +0 -3
  416. package/src/modules/memory/learning/ClusteringService.ts +1 -4
  417. package/src/modules/memory/llm/LLMInitializer.ts +3 -3
  418. package/src/modules/memory/llm/__tests__/TagAnalyzerService.test.ts +2 -6
  419. package/src/modules/memory/masking/MaskingMiddleware.ts +0 -7
  420. package/src/modules/memory/migrations/001-add-scope-columns.ts +5 -1
  421. package/src/modules/memory/migrations/002-add-evolution-columns.ts +10 -2
  422. package/src/modules/memory/migrations/003-pending-tasks.ts +1 -0
  423. package/src/modules/memory/migrations/004-reset-sequences.ts +5 -6
  424. package/src/modules/memory/task-queue/PendingTaskRepository.ts +25 -6
  425. package/src/modules/memory/task-queue/TaskWorker.ts +155 -118
  426. package/src/modules/memory/task-queue/__tests__/TaskWorker.it.test.ts +1 -6
  427. package/src/modules/memory/task-queue/__tests__/TaskWorker.test.ts +119 -0
  428. package/src/modules/memory/task-queue/models.ts +4 -2
  429. package/src/modules/orchestration/McpClientManager.ts +1 -1
  430. package/src/modules/orchestration/McpConfigService.ts +2 -1
  431. package/src/modules/orchestration/reindex/safeError.ts +1 -1
  432. package/src/modules/pega/PegaCrawler.ts +1 -1
  433. package/src/modules/pega/PegaGraphProjector.ts +36 -9
  434. package/src/modules/pega/PegaIndexer.ts +39 -48
  435. package/src/modules/pega/PegaKbSync.ts +27 -221
  436. package/src/modules/pega/PegaRuleAstParser.ts +2 -2
  437. package/src/modules/pega/PegaRuleFetcherService.ts +1 -1
  438. package/src/modules/pega/PegaService.ts +47 -202
  439. package/src/modules/pega/PegaSymbolSync.ts +3 -3
  440. package/src/modules/pega/__tests__/decision/PegaDecisionEvaluator.test.ts +1 -1
  441. package/src/modules/pega/__tests__/decisioning/PegaDecisioningParser.test.ts +1 -1
  442. package/src/modules/pega/__tests__/deploy/PegaDeploy.test.ts +2 -2
  443. package/src/modules/pega/__tests__/expression/PegaExpressionProperty.test.ts +1 -2
  444. package/src/modules/pega/__tests__/inference/PegaInference.test.ts +1 -3
  445. package/src/modules/pega/__tests__/inference/PegaSchemaKBService.test.ts +3 -5
  446. package/src/modules/pega/__tests__/metamodel/PegaMetaModelCompiler.test.ts +0 -1
  447. package/src/modules/pega/__tests__/portal/PegaPortalParser.test.ts +1 -1
  448. package/src/modules/pega/__tests__/semantic/PegaSemantic.test.ts +0 -2
  449. package/src/modules/pega/__tests__/understanding/PegaRuleUnderstanding.test.ts +0 -1
  450. package/src/modules/pega/__tests__/workflow/PegaWorkflowEngine.test.ts +0 -1
  451. package/src/modules/pega/connect/PegaConnectParser.ts +1 -1
  452. package/src/modules/pega/decision/PegaEvaluationResult.ts +0 -2
  453. package/src/modules/pega/declare/PegaDeclareParser.ts +1 -14
  454. package/src/modules/pega/deploy/PegaWorkerPool.ts +2 -2
  455. package/src/modules/pega/expression/PegaExpressionParser.ts +0 -1
  456. package/src/modules/pega/expression/PegaWhenEvaluator.ts +1 -1
  457. package/src/modules/pega/metamodel/PegaMetaModelCompiler.ts +1 -1
  458. package/src/modules/pega/metamodel/PegaMetaModelLoader.ts +2 -8
  459. package/src/modules/pega/pega-mapping.ts +17 -0
  460. package/src/modules/pega/pega-utils.ts +8 -2
  461. package/src/modules/pega/references/PegaImpactAnalyzer.ts +2 -3
  462. package/src/modules/pega/semantic/PegaRuleSimulator.ts +6 -7
  463. package/src/modules/pega/semantic/PegaSemanticAnalyzer.ts +0 -16
  464. package/src/modules/pega/ui/PegaHarnessAssembler.ts +0 -1
  465. package/src/modules/pega/ui/PegaSectionRenderer.ts +0 -1
  466. package/src/modules/pega/understanding/PegaRuleUnderstandingService.ts +2 -2
  467. package/src/modules/security/SecurityModule.ts +3 -3
  468. package/src/modules/security/gateguard/GateGuardService.ts +1 -1
  469. package/src/server/HttpServer.ts +1 -1
  470. package/src/server/middleware/__tests__/jwt-auth.test.ts +3 -3
  471. package/src/server/middleware/__tests__/localhost-only.test.ts +1 -1
  472. package/src/server/middleware/__tests__/request-logger.test.ts +1 -1
  473. package/src/server/middleware/__tests__/security-headers.test.ts +1 -1
  474. package/src/server/routes/admin/analytics.ts +12 -16
  475. package/src/server/routes/admin/config.ts +6 -6
  476. package/src/server/routes/admin/context.ts +2 -2
  477. package/src/server/routes/admin/database.ts +2 -1
  478. package/src/server/routes/admin/index.ts +3 -3
  479. package/src/server/routes/admin/kb-entries.ts +46 -104
  480. package/src/server/routes/admin/kb-graph-spatial.ts +5 -14
  481. package/src/server/routes/admin/kb-operations.ts +7 -9
  482. package/src/server/routes/admin/static.ts +1 -1
  483. package/src/server/routes/admin/users.ts +3 -3
  484. package/src/server/routes/api-index.ts +137 -114
  485. package/src/server/routes/enrichment-status-routes.ts +20 -3
  486. package/src/server/routes/pega-api.ts +13 -24
  487. package/src/server/routes/pega-stream-helpers.ts +3 -3
  488. package/src/server/routes/pega-stream.ts +1 -2
  489. package/src/server/routes/pega-sync-to-kb.ts +7 -14
  490. package/src/servers/atlassian/__tests__/e2e-api.test.ts +0 -1
  491. package/src/servers/atlassian/__tests__/integration.test.ts +1 -2
  492. package/src/servers/atlassian/__tests__/pbt.test.ts +0 -1
  493. package/src/servers/atlassian/__tests__/unit-base-client.test.ts +1 -1
  494. package/src/servers/atlassian/__tests__/unit-rate-limiter.test.ts +1 -1
  495. package/src/servers/atlassian/__tests__/unit-schemas.test.ts +2 -2
  496. package/src/servers/atlassian/tools/jira-user-tools.ts +1 -1
  497. package/src/tool-router/ToolHandlerDecorators.ts +0 -4
  498. package/src/tool-router/ToolRouter.ts +1 -1
  499. package/src/viewer/admin/index.html +23 -36
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.26.0-blue?style=for-the-badge" alt="Version">
9
+ <img src="https://img.shields.io/badge/version-1.28.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>
@@ -2,7 +2,7 @@
2
2
  * admin-db.ts — Barrel export for all admin database functions.
3
3
  * SA4E-50: All exported functions are async (return Promise<T>).
4
4
  */
5
- export { getAdminDb, getIndexDbPath, getActiveEngine, getActiveDbConfig, resetAdminDb, getIndexAdapter, getAdminAdapter, hashPassword, verifyPassword, generateToken, } from './db/core.js';
5
+ export { getAdminDb, getIndexDbPath, getActiveEngine, getActiveDbConfig, resetAdminDb, getDbAdapter, initAdapters, hashPassword, verifyPassword, generateToken, } from './db/core.js';
6
6
  export { getUsers, getUserById, getUserByUsername, createUser, updateUserStatus, deleteUser, resetUserPassword, changePassword, updateLastLogin, updateUserEmail, updateUser, getUserCount, getUserCountByGroup, } from './db/users.js';
7
7
  export { getGroups, getGroupById, createGroup, updateGroup, deleteGroup, getUserPermissions, getGroupPermissionIds, } from './db/groups.js';
8
8
  export { createSession, validateSession, invalidateSession, invalidateUserSessions, refreshSession, getUserSessions, } from './db/sessions.js';
@@ -2,7 +2,7 @@
2
2
  * admin-db.ts — Barrel export for all admin database functions.
3
3
  * SA4E-50: All exported functions are async (return Promise<T>).
4
4
  */
5
- export { getAdminDb, getIndexDbPath, getActiveEngine, getActiveDbConfig, resetAdminDb, getIndexAdapter, getAdminAdapter, hashPassword, verifyPassword, generateToken, } from './db/core.js';
5
+ export { getAdminDb, getIndexDbPath, getActiveEngine, getActiveDbConfig, resetAdminDb, getDbAdapter, initAdapters, hashPassword, verifyPassword, generateToken, } from './db/core.js';
6
6
  export { getUsers, getUserById, getUserByUsername, createUser, updateUserStatus, deleteUser, resetUserPassword, changePassword, updateLastLogin, updateUserEmail, updateUser, getUserCount, getUserCountByGroup, } from './db/users.js';
7
7
  export { getGroups, getGroupById, createGroup, updateGroup, deleteGroup, getUserPermissions, getGroupPermissionIds, } from './db/groups.js';
8
8
  export { createSession, validateSession, invalidateSession, invalidateUserSessions, refreshSession, getUserSessions, } from './db/sessions.js';
@@ -1 +1 @@
1
- {"version":3,"file":"admin-db.js","sourceRoot":"","sources":["../../src/admin/admin-db.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAC9D,YAAY,EAAE,eAAe,EAAE,eAAe,EAC9C,YAAY,EAAE,cAAc,EAAE,aAAa,GAC5C,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EACtE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAC9D,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,GAC/D,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAC9D,kBAAkB,EAAE,qBAAqB,GAC1C,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,aAAa,EAAE,eAAe,EAAE,iBAAiB,EACjD,sBAAsB,EAAE,cAAc,EAAE,eAAe,GACxD,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAG7E,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAEpH,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEpF,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEnF,OAAO,EACL,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAC5C,WAAW,EAAE,WAAW,EAAE,iBAAiB,GAC5C,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"admin-db.js","sourceRoot":"","sources":["../../src/admin/admin-db.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAC9D,YAAY,EAAE,YAAY,EAAE,YAAY,EACxC,YAAY,EAAE,cAAc,EAAE,aAAa,GAC5C,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EACtE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAC9D,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,GAC/D,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAC9D,kBAAkB,EAAE,qBAAqB,GAC1C,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,aAAa,EAAE,eAAe,EAAE,iBAAiB,EACjD,sBAAsB,EAAE,cAAc,EAAE,eAAe,GACxD,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAG7E,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAEpH,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEpF,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEnF,OAAO,EACL,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAC5C,WAAW,EAAE,WAAW,EAAE,iBAAiB,GAC5C,MAAM,iBAAiB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * admin/db/audit.ts — Audit log recording and retrieval.
3
- * SA4E-50: All functions are async; use getAdminAdapter() for multi-DB support.
3
+ * SA4E-50: All functions are async; use getDbAdapter() for multi-DB support.
4
4
  */
5
5
  import type { AuditEntry } from '../types/rbac.types.js';
6
6
  /**
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * admin/db/audit.ts — Audit log recording and retrieval.
3
- * SA4E-50: All functions are async; use getAdminAdapter() for multi-DB support.
3
+ * SA4E-50: All functions are async; use getDbAdapter() for multi-DB support.
4
4
  */
5
5
  import * as crypto from 'crypto';
6
- import { getAdminAdapter } from './core.js';
6
+ import { getDbAdapter } from './core.js';
7
7
  /** Map a raw DB row to a typed AuditEntry. */
8
8
  function rowToAudit(r) {
9
9
  return {
@@ -23,7 +23,7 @@ function rowToAudit(r) {
23
23
  * Fire-and-forget: errors are silently ignored to avoid blocking request flow.
24
24
  */
25
25
  export async function recordAudit(userId, username, action, resource, resourceId, changes, ip) {
26
- const adapter = getAdminAdapter();
26
+ const adapter = getDbAdapter();
27
27
  const auditId = 'aud-' + crypto.randomUUID().slice(0, 8);
28
28
  await adapter.runAsync(`INSERT INTO audit_log (audit_id, user_id, username, action, resource, resource_id, changes, timestamp, ip_address)
29
29
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`, [auditId, userId, username, action, resource, resourceId || '', changes || '', new Date().toISOString(), ip || '']);
@@ -33,7 +33,7 @@ export async function recordAudit(userId, username, action, resource, resourceId
33
33
  * @returns Paginated result with items and total count
34
34
  */
35
35
  export async function getAuditLogs(filters, page = 1, pageSize = 50) {
36
- const adapter = getAdminAdapter();
36
+ const adapter = getDbAdapter();
37
37
  let where = 'WHERE 1=1';
38
38
  const params = [];
39
39
  if (filters?.userId) {
@@ -62,7 +62,7 @@ export async function getAuditLogs(filters, page = 1, pageSize = 50) {
62
62
  * @param limit - Max entries to return (default 10)
63
63
  */
64
64
  export async function getRecentActivity(limit = 10) {
65
- const adapter = getAdminAdapter();
65
+ const adapter = getDbAdapter();
66
66
  const rows = await adapter.allAsync('SELECT * FROM audit_log ORDER BY timestamp DESC LIMIT ?', [limit]);
67
67
  return rows.map(rowToAudit);
68
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/admin/db/audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/admin/db/audit.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * admin/db/config.ts — Configuration change history tracking.
3
- * SA4E-50: All functions are async; use getAdminAdapter() for multi-DB support.
3
+ * SA4E-50: All functions are async; use getDbAdapter() for multi-DB support.
4
4
  */
5
5
  export interface ConfigChange {
6
6
  id: number;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * admin/db/config.ts — Configuration change history tracking.
3
- * SA4E-50: All functions are async; use getAdminAdapter() for multi-DB support.
3
+ * SA4E-50: All functions are async; use getDbAdapter() for multi-DB support.
4
4
  */
5
- import { getAdminAdapter } from './core.js';
5
+ import { getDbAdapter } from './core.js';
6
6
  /** Map raw DB row to typed ConfigChange. */
7
7
  function rowToConfigChange(r) {
8
8
  return {
@@ -20,7 +20,7 @@ function rowToConfigChange(r) {
20
20
  * Record a configuration change and prune old records keeping the latest 50.
21
21
  */
22
22
  export async function recordConfigChange(section, key, oldValue, newValue, changedBy, requiresRestart) {
23
- const adapter = getAdminAdapter();
23
+ const adapter = getDbAdapter();
24
24
  await adapter.runAsync(`INSERT INTO config_changes (section, key, old_value, new_value, changed_by, changed_at, requires_restart)
25
25
  VALUES (?, ?, ?, ?, ?, ?, ?)`, [section, key, oldValue, newValue, changedBy, new Date().toISOString(), requiresRestart ? 1 : 0]);
26
26
  // Prune: keep only the most recent 50 entries
@@ -33,7 +33,7 @@ export async function recordConfigChange(section, key, oldValue, newValue, chang
33
33
  * @param limit - Max entries (default 10)
34
34
  */
35
35
  export async function getConfigChanges(limit = 10) {
36
- const adapter = getAdminAdapter();
36
+ const adapter = getDbAdapter();
37
37
  const rows = await adapter.allAsync('SELECT * FROM config_changes ORDER BY changed_at DESC LIMIT ?', [limit]);
38
38
  return rows.map(rowToConfigChange);
39
39
  }
@@ -44,7 +44,7 @@ export async function getConfigChanges(limit = 10) {
44
44
  */
45
45
  export async function getLatestConfigValue(section, key) {
46
46
  try {
47
- const adapter = getAdminAdapter();
47
+ const adapter = getDbAdapter();
48
48
  const row = await adapter.getAsync(`SELECT new_value FROM config_changes WHERE section = ? AND key = ? ORDER BY changed_at DESC LIMIT 1`, [section, key]);
49
49
  return row?.new_value ?? undefined;
50
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/admin/db/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/admin/db/config.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * admin/db/core.ts — Central database access layer (unified single DB).
3
- * SA4E-45: getIndexAdapter() / getAdminAdapter() enable PostgreSQL/MySQL support.
3
+ * SA4E-45: getDbAdapter() / getDbAdapter() enable PostgreSQL/MySQL support.
4
4
  * SA4E-49: Consolidated into single unified DB file (index.db).
5
5
  * SA4E-53: Removed raw better-sqlite3 import; uses SqliteAdapter for creation.
6
6
  */
@@ -16,24 +16,22 @@ export declare function getActiveEngine(): string;
16
16
  /** Get connection config for the active engine */
17
17
  export declare function getActiveDbConfig(): any;
18
18
  /**
19
- * Get DatabaseAdapter for index data (knowledge_entries, files, symbols, etc.).
20
- * SA4E-49: Now shares the same unified DB as admin tables.
21
- * When engine=sqlite: wraps the unified DB via SqliteAdapter.
22
- * When engine=postgresql/mysql: connects to the configured remote DB.
19
+ * Get the unified DatabaseAdapter (single instance for all data).
20
+ * SA4E-49: All tables (knowledge_entries, files, symbols, graph_nodes, users,
21
+ * sessions, etc.) live in one database. One adapter, one connection pool.
23
22
  */
24
- export declare function getIndexAdapter(): DatabaseAdapter;
25
- export declare function getAdminAdapter(): DatabaseAdapter;
23
+ export declare function getDbAdapter(): DatabaseAdapter;
26
24
  /**
27
- * Initialize DB adapters and await connection.
25
+ * Initialize DB adapter and await connection.
28
26
  * MUST be called at startup BEFORE any module initialization.
29
27
  * For SQLite: instant (sync). For PostgreSQL/MySQL: awaits pool connection.
30
28
  * @throws Error if connection fails (server should not start)
31
29
  */
32
30
  export declare function initAdapters(): Promise<void>;
33
- /** Reset cached DB instance and adapters (used after DB switch/migration) */
31
+ /** Reset cached DB instance and adapter (used after DB switch/migration) */
34
32
  export declare function resetAdminDb(): void;
35
33
  /**
36
34
  * Get the raw better-sqlite3 Database instance.
37
- * @deprecated Use getAdminAdapter() for new code. Kept for backward compat with tests.
35
+ * @deprecated Use getDbAdapter() for new code. Kept for backward compat with tests.
38
36
  */
39
37
  export declare function getAdminDb(): import('better-sqlite3').Database;
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * admin/db/core.ts — Central database access layer (unified single DB).
3
- * SA4E-45: getIndexAdapter() / getAdminAdapter() enable PostgreSQL/MySQL support.
3
+ * SA4E-45: getDbAdapter() / getDbAdapter() enable PostgreSQL/MySQL support.
4
4
  * SA4E-49: Consolidated into single unified DB file (index.db).
5
5
  * SA4E-53: Removed raw better-sqlite3 import; uses SqliteAdapter for creation.
6
6
  */
@@ -69,50 +69,31 @@ function getUnifiedSqliteAdapter() {
69
69
  return sqliteAdapter;
70
70
  }
71
71
  // --- DatabaseAdapter layer (multi-DB support) ---
72
- let indexAdapter = null;
73
- let adminAdapter = null;
72
+ let dbAdapter = null;
74
73
  /**
75
- * Get DatabaseAdapter for index data (knowledge_entries, files, symbols, etc.).
76
- * SA4E-49: Now shares the same unified DB as admin tables.
77
- * When engine=sqlite: wraps the unified DB via SqliteAdapter.
78
- * When engine=postgresql/mysql: connects to the configured remote DB.
74
+ * Get the unified DatabaseAdapter (single instance for all data).
75
+ * SA4E-49: All tables (knowledge_entries, files, symbols, graph_nodes, users,
76
+ * sessions, etc.) live in one database. One adapter, one connection pool.
79
77
  */
80
- export function getIndexAdapter() {
81
- if (!indexAdapter) {
78
+ export function getDbAdapter() {
79
+ if (!dbAdapter) {
82
80
  const engine = getActiveEngine();
83
81
  if (engine === 'sqlite') {
84
- indexAdapter = getUnifiedSqliteAdapter();
82
+ dbAdapter = getUnifiedSqliteAdapter();
85
83
  }
86
84
  else {
87
85
  const configService = new DatabaseConfigService(DATA_DIR);
88
86
  const activeConfig = configService.getActiveConfig();
89
- indexAdapter = DatabaseAdapterFactory.create(activeConfig);
90
- indexAdapter.connect().catch((err) => {
91
- logger.error({ err }, '[admin] Failed to connect index adapter');
87
+ dbAdapter = DatabaseAdapterFactory.create(activeConfig);
88
+ dbAdapter.connect().catch((err) => {
89
+ logger.error({ err }, '[admin] Failed to connect DB adapter');
92
90
  });
93
91
  }
94
92
  }
95
- return indexAdapter;
96
- }
97
- export function getAdminAdapter() {
98
- if (!adminAdapter) {
99
- const engine = getActiveEngine();
100
- if (engine === 'sqlite') {
101
- adminAdapter = getUnifiedSqliteAdapter();
102
- }
103
- else {
104
- const configService = new DatabaseConfigService(DATA_DIR);
105
- const activeConfig = configService.getActiveConfig();
106
- adminAdapter = DatabaseAdapterFactory.create(activeConfig);
107
- adminAdapter.connect().catch((err) => {
108
- logger.error({ err }, '[admin] Failed to connect admin adapter');
109
- });
110
- }
111
- }
112
- return adminAdapter;
93
+ return dbAdapter;
113
94
  }
114
95
  /**
115
- * Initialize DB adapters and await connection.
96
+ * Initialize DB adapter and await connection.
116
97
  * MUST be called at startup BEFORE any module initialization.
117
98
  * For SQLite: instant (sync). For PostgreSQL/MySQL: awaits pool connection.
118
99
  * @throws Error if connection fails (server should not start)
@@ -120,26 +101,19 @@ export function getAdminAdapter() {
120
101
  export async function initAdapters() {
121
102
  const engine = getActiveEngine();
122
103
  if (engine === 'sqlite') {
123
- // SQLite: create adapters synchronously — nothing async to await
124
- getIndexAdapter();
125
- getAdminAdapter();
104
+ getDbAdapter();
126
105
  return;
127
106
  }
128
107
  const configService = new DatabaseConfigService(DATA_DIR);
129
108
  const activeConfig = configService.getActiveConfig();
130
- // Create and await both adapters in parallel
131
- const idx = DatabaseAdapterFactory.create(activeConfig);
132
- const adm = DatabaseAdapterFactory.create(activeConfig);
133
- await Promise.all([idx.connect(), adm.connect()]);
134
- // Cache after successful connection
135
- indexAdapter = idx;
136
- adminAdapter = adm;
137
- logger.info({ engine }, '[admin] DB adapters connected and ready');
109
+ const adapter = DatabaseAdapterFactory.create(activeConfig);
110
+ await adapter.connect();
111
+ dbAdapter = adapter;
112
+ logger.info({ engine }, '[admin] DB adapter connected and ready');
138
113
  }
139
- /** Reset cached DB instance and adapters (used after DB switch/migration) */
114
+ /** Reset cached DB instance and adapter (used after DB switch/migration) */
140
115
  export function resetAdminDb() {
141
- indexAdapter = null;
142
- adminAdapter = null;
116
+ dbAdapter = null;
143
117
  if (sqliteAdapter) {
144
118
  void sqliteAdapter.disconnect();
145
119
  sqliteAdapter = null;
@@ -147,7 +121,7 @@ export function resetAdminDb() {
147
121
  }
148
122
  /**
149
123
  * Get the raw better-sqlite3 Database instance.
150
- * @deprecated Use getAdminAdapter() for new code. Kept for backward compat with tests.
124
+ * @deprecated Use getDbAdapter() for new code. Kept for backward compat with tests.
151
125
  */
152
126
  export function getAdminDb() {
153
127
  const adapter = getUnifiedSqliteAdapter();
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/admin/db/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/admin/db/core.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * admin/db/groups.ts — Access group and permission management.
3
- * SA4E-50: All functions are async; use getAdminAdapter() for multi-DB support.
3
+ * SA4E-50: All functions are async; use getDbAdapter() for multi-DB support.
4
4
  */
5
5
  import type { AccessGroup, GroupPermission } from '../types/rbac.types.js';
6
6
  /**
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * admin/db/groups.ts — Access group and permission management.
3
- * SA4E-50: All functions are async; use getAdminAdapter() for multi-DB support.
3
+ * SA4E-50: All functions are async; use getDbAdapter() for multi-DB support.
4
4
  */
5
5
  import * as crypto from 'crypto';
6
- import { getAdminAdapter } from './core.js';
6
+ import { getDbAdapter } from './core.js';
7
7
  /** Parse raw permission rows into typed GroupPermission objects. */
8
8
  function parsePermRows(rows) {
9
9
  return rows.map(p => ({
@@ -27,7 +27,7 @@ function buildGroup(g, perms) {
27
27
  * @returns Array of AccessGroup objects ordered by system-first then name
28
28
  */
29
29
  export async function getGroups() {
30
- const adapter = getAdminAdapter();
30
+ const adapter = getDbAdapter();
31
31
  const groups = await adapter.allAsync('SELECT * FROM access_groups ORDER BY is_system_group DESC, access_group_name ASC');
32
32
  return Promise.all(groups.map(async (g) => {
33
33
  const permRows = await adapter.allAsync('SELECT permission_id, role_data FROM group_permissions WHERE access_group_id = ?', [g.access_group_id]);
@@ -39,7 +39,7 @@ export async function getGroups() {
39
39
  * @returns AccessGroup or null if not found
40
40
  */
41
41
  export async function getGroupById(groupId) {
42
- const adapter = getAdminAdapter();
42
+ const adapter = getDbAdapter();
43
43
  const g = await adapter.getAsync('SELECT * FROM access_groups WHERE access_group_id = ?', [groupId]);
44
44
  if (!g)
45
45
  return null;
@@ -51,7 +51,7 @@ export async function getGroupById(groupId) {
51
51
  * @returns Newly created AccessGroup
52
52
  */
53
53
  export async function createGroup(name, permissions) {
54
- const adapter = getAdminAdapter();
54
+ const adapter = getDbAdapter();
55
55
  const id = 'grp-' + crypto.randomUUID().slice(0, 8);
56
56
  const now = new Date().toISOString();
57
57
  await adapter.runAsync('INSERT INTO access_groups (access_group_id, access_group_name, is_system_group, created_at, updated_at) VALUES (?, ?, 0, ?, ?)', [id, name, now, now]);
@@ -65,7 +65,7 @@ export async function createGroup(name, permissions) {
65
65
  * @returns Updated AccessGroup
66
66
  */
67
67
  export async function updateGroup(groupId, name, permissions) {
68
- const adapter = getAdminAdapter();
68
+ const adapter = getDbAdapter();
69
69
  const existing = await adapter.getAsync('SELECT * FROM access_groups WHERE access_group_id = ?', [groupId]);
70
70
  if (!existing)
71
71
  throw new Error('Group not found');
@@ -87,7 +87,7 @@ export async function updateGroup(groupId, name, permissions) {
87
87
  * @throws Error if group is a system group or has assigned users
88
88
  */
89
89
  export async function deleteGroup(groupId) {
90
- const adapter = getAdminAdapter();
90
+ const adapter = getDbAdapter();
91
91
  const g = await adapter.getAsync('SELECT is_system_group FROM access_groups WHERE access_group_id = ?', [groupId]);
92
92
  if (!g)
93
93
  throw new Error('Group not found');
@@ -103,7 +103,7 @@ export async function deleteGroup(groupId) {
103
103
  * @returns Array of GroupPermission objects
104
104
  */
105
105
  export async function getUserPermissions(userId) {
106
- const adapter = getAdminAdapter();
106
+ const adapter = getDbAdapter();
107
107
  const user = await adapter.getAsync('SELECT access_group_id FROM users WHERE user_id = ?', [userId]);
108
108
  if (!user)
109
109
  return [];
@@ -115,7 +115,7 @@ export async function getUserPermissions(userId) {
115
115
  * @returns Array of permission ID strings
116
116
  */
117
117
  export async function getGroupPermissionIds(groupId) {
118
- const adapter = getAdminAdapter();
118
+ const adapter = getDbAdapter();
119
119
  const rows = await adapter.allAsync('SELECT permission_id FROM group_permissions WHERE access_group_id = ?', [groupId]);
120
120
  return rows.map(p => p.permission_id);
121
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../../src/admin/db/groups.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../../src/admin/db/groups.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * admin/db/kb-embeddings.ts — KB embedding data for visualization.
3
- * SA4E-50: Uses getIndexAdapter() async methods for PostgreSQL/SQLite support.
3
+ * SA4E-50: Uses getDbAdapter() async methods for PostgreSQL/SQLite support.
4
4
  * Vector parsing (Float32Array) is engine-agnostic; runs on the returned blobs.
5
5
  */
6
6
  /**
@@ -1,13 +1,13 @@
1
1
  /**
2
2
  * admin/db/kb-embeddings.ts — KB embedding data for visualization.
3
- * SA4E-50: Uses getIndexAdapter() async methods for PostgreSQL/SQLite support.
3
+ * SA4E-50: Uses getDbAdapter() async methods for PostgreSQL/SQLite support.
4
4
  * Vector parsing (Float32Array) is engine-agnostic; runs on the returned blobs.
5
5
  */
6
- import { getIndexAdapter, getActiveEngine } from './core.js';
6
+ import { getDbAdapter, getActiveEngine } from './core.js';
7
7
  import { DialectHelper } from '../../database/dialect/DialectHelper.js';
8
8
  /** Check if a table exists using cross-engine DialectHelper query. */
9
9
  async function hasTable(tableName) {
10
- const adapter = getIndexAdapter();
10
+ const adapter = getDbAdapter();
11
11
  const dialect = new DialectHelper(getActiveEngine());
12
12
  const row = await adapter.getAsync(dialect.tableExistsQuery(tableName));
13
13
  return !!row;
@@ -60,7 +60,7 @@ function parseVectorRow(row, index) {
60
60
  async function getVectorEmbeddings(limit) {
61
61
  if (!(await hasTable('knowledge_vectors')))
62
62
  return null;
63
- const adapter = getIndexAdapter();
63
+ const adapter = getDbAdapter();
64
64
  const rows = await adapter.allAsync(`SELECT e.id, e.source, e.summary, e.type, e.tier, v.vector
65
65
  FROM knowledge_entries e
66
66
  INNER JOIN knowledge_vectors v ON v.entry_id = e.id
@@ -83,7 +83,7 @@ export async function getKbEmbeddings(limit = 100) {
83
83
  if (vectorItems)
84
84
  return { items: vectorItems, hasRealData: true };
85
85
  // Fallback: hash-based positions from knowledge_entries content
86
- const adapter = getIndexAdapter();
86
+ const adapter = getDbAdapter();
87
87
  const rows = await adapter.allAsync('SELECT id, source, summary, type, content FROM knowledge_entries ORDER BY created_at DESC LIMIT ?', [limit]);
88
88
  if (rows.length === 0)
89
89
  return { items: [], hasRealData: false };
@@ -1 +1 @@
1
- {"version":3,"file":"kb-embeddings.js","sourceRoot":"","sources":["../../../src/admin/db/kb-embeddings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kb-embeddings.js","sourceRoot":"","sources":["../../../src/admin/db/kb-embeddings.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * admin/db/kb-entries.ts — Knowledge base entry queries via DatabaseAdapter.
3
- * SA4E-50: Uses getIndexAdapter() async methods for PostgreSQL/SQLite support.
3
+ * SA4E-50: Uses getDbAdapter() async methods for PostgreSQL/SQLite support.
4
4
  * sqlite_master checks are SQLite-only and guarded by engine detection.
5
5
  */
6
6
  /**
@@ -1,13 +1,13 @@
1
1
  /**
2
2
  * admin/db/kb-entries.ts — Knowledge base entry queries via DatabaseAdapter.
3
- * SA4E-50: Uses getIndexAdapter() async methods for PostgreSQL/SQLite support.
3
+ * SA4E-50: Uses getDbAdapter() async methods for PostgreSQL/SQLite support.
4
4
  * sqlite_master checks are SQLite-only and guarded by engine detection.
5
5
  */
6
- import { getIndexAdapter, getActiveEngine, logger } from './core.js';
6
+ import { getDbAdapter, getActiveEngine, logger } from './core.js';
7
7
  import { buildAdminScopeFilter } from './kb-scope-filter.js';
8
8
  /** Check if knowledge_entries table exists (SQLite only). */
9
9
  async function tableExists() {
10
- const adapter = getIndexAdapter();
10
+ const adapter = getDbAdapter();
11
11
  // Guard: if PG adapter not yet connected (async connect in progress), skip gracefully
12
12
  if (!adapter.isConnected())
13
13
  return false;
@@ -24,7 +24,7 @@ export async function getKbEntryById(entryId) {
24
24
  try {
25
25
  if (!(await tableExists()))
26
26
  return null;
27
- const adapter = getIndexAdapter();
27
+ const adapter = getDbAdapter();
28
28
  const row = await adapter.getAsync('SELECT * FROM knowledge_entries WHERE id = ?', [entryId]);
29
29
  return row || null;
30
30
  }
@@ -43,7 +43,7 @@ export async function getKbEntryCount(projectId, userId) {
43
43
  try {
44
44
  if (!(await tableExists()))
45
45
  return 0;
46
- const adapter = getIndexAdapter();
46
+ const adapter = getDbAdapter();
47
47
  const filter = buildAdminScopeFilter(projectId, userId);
48
48
  if (filter) {
49
49
  const row = await adapter.getAsync(`SELECT COUNT(*) as cnt FROM knowledge_entries WHERE ${filter.clause}`, filter.params);
@@ -67,7 +67,7 @@ export async function getKbEntryCount(projectId, userId) {
67
67
  * Admin views need accurate counts even if scope metadata is incomplete.
68
68
  */
69
69
  async function getUnfilteredKbEntryCount(projectId) {
70
- const adapter = getIndexAdapter();
70
+ const adapter = getDbAdapter();
71
71
  if (projectId) {
72
72
  const row = await adapter.getAsync('SELECT COUNT(*) as cnt FROM knowledge_entries WHERE project_id = ? OR project_id IS NULL', [projectId]);
73
73
  if ((row?.cnt ?? 0) > 0)
@@ -84,7 +84,7 @@ export async function getKbEntries(page = 1, pageSize = 20, sortBy = 'created_at
84
84
  try {
85
85
  if (!(await tableExists()))
86
86
  return { items: [], total: 0 };
87
- const adapter = getIndexAdapter();
87
+ const adapter = getDbAdapter();
88
88
  // Validate sort column to prevent SQL injection
89
89
  const validColumns = ['id', 'created_at', 'updated_at', 'source', 'type',
90
90
  'tier', 'quality_score', 'tags', 'summary', 'content'];
@@ -1 +1 @@
1
- {"version":3,"file":"kb-entries.js","sourceRoot":"","sources":["../../../src/admin/db/kb-entries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kb-entries.js","sourceRoot":"","sources":["../../../src/admin/db/kb-entries.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,6DAA6D;AAC7D,KAAK,UAAU,WAAW;IACxB,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;IAC/B,sFAAsF;IACtF,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,eAAe,EAAE,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,CAAC,sCAAsC;IACvF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,CAChC,2FAA2F,CAC5F,CAAC;IACF,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAe;IAClD,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAM,8CAA8C,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACnG,OAAO,GAAG,IAAI,IAAI,CAAC;IACrB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,yBAAyB,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,SAAkB,EAClB,MAAe;IAEf,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC;YAAE,OAAO,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAExD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,CAChC,uDAAuD,MAAM,CAAC,MAAM,EAAE,EACtE,MAAM,CAAC,MAAmB,CAC3B,CAAC;YACF,MAAM,WAAW,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAClC,gEAAgE;YAChE,IAAI,WAAW,KAAK,CAAC;gBAAE,OAAO,yBAAyB,CAAC,SAAS,CAAC,CAAC;YACnE,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,CAChC,+CAA+C,CAChD,CAAC;QACF,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,0BAA0B,CAAC,CAAC;QAClD,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,yBAAyB,CAAC,SAAkB;IACzD,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;IAC/B,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,CAChC,0FAA0F,EAC1F,CAAC,SAAS,CAAC,CACZ,CAAC;QACF,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC;YAAE,OAAO,GAAI,CAAC,GAAG,CAAC;IAC3C,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,CAChC,+CAA+C,CAChD,CAAC;IACF,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAI,GAAG,CAAC,EACR,QAAQ,GAAG,EAAE,EACb,MAAM,GAAG,YAAY,EACrB,UAA0B,MAAM,EAChC,SAAkB,EAClB,MAAe;IAEf,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;QAE/B,gDAAgD;QAChD,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM;YACtE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;QACvE,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAEnD,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,MAAM;YACX,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC;YACrE,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,uBAAuB,CAAC,CAAC;QAC/C,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACjC,CAAC;AACH,CAAC;AAED,+CAA+C;AAC/C,KAAK,UAAU,eAAe,CAC5B,OAAwB,EACxB,MAA6C,EAC7C,QAAgB,EAChB,OAAe,EACf,IAAY,EACZ,QAAgB;IAEhB,MAAM,KAAK,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CACrC,iDAAiD,KAAK,EAAE,EACxD,MAAM,CAAC,MAAmB,CAC3B,CAAC;IACF,MAAM,KAAK,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CACjC,mCAAmC,KAAK,aAAa,QAAQ,IAAI,OAAO,mBAAmB,EAC3F,CAAC,GAAI,MAAM,CAAC,MAAoB,EAAE,QAAQ,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CACnE,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC;AAED,wDAAwD;AACxD,KAAK,UAAU,kBAAkB,CAC/B,OAAwB,EACxB,QAAgB,EAChB,OAAe,EACf,IAAY,EACZ,QAAgB;IAEhB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CACrC,+CAA+C,CAChD,CAAC;IACF,MAAM,KAAK,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CACjC,4CAA4C,QAAQ,IAAI,OAAO,mBAAmB,EAClF,CAAC,QAAQ,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAClC,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * admin/db/kb-search.ts — KB full-text search via DatabaseAdapter.
3
- * SA4E-50: Uses getIndexAdapter() async methods for PostgreSQL/SQLite support.
3
+ * SA4E-50: Uses getDbAdapter() async methods for PostgreSQL/SQLite support.
4
4
  * TF-IDF scoring runs in-memory after DB fetch; compatible with all engines.
5
5
  */
6
6
  /**