bc-code-intelligence-mcp 1.5.8 → 1.6.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 (601) hide show
  1. package/dist/index.d.ts +9 -8
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +93 -211
  4. package/dist/index.js.map +1 -1
  5. package/dist/layers/base-layer.d.ts +6 -6
  6. package/dist/layers/base-layer.d.ts.map +1 -1
  7. package/dist/layers/base-layer.js +15 -15
  8. package/dist/layers/base-layer.js.map +1 -1
  9. package/dist/layers/embedded-layer.d.ts +2 -2
  10. package/dist/layers/embedded-layer.d.ts.map +1 -1
  11. package/dist/layers/embedded-layer.js +32 -16
  12. package/dist/layers/embedded-layer.js.map +1 -1
  13. package/dist/layers/git-layer.d.ts +11 -2
  14. package/dist/layers/git-layer.d.ts.map +1 -1
  15. package/dist/layers/git-layer.js +41 -17
  16. package/dist/layers/git-layer.js.map +1 -1
  17. package/dist/layers/project-layer.d.ts +2 -2
  18. package/dist/layers/project-layer.d.ts.map +1 -1
  19. package/dist/layers/project-layer.js +25 -11
  20. package/dist/layers/project-layer.js.map +1 -1
  21. package/dist/services/code-analysis-service.d.ts +122 -2
  22. package/dist/services/code-analysis-service.d.ts.map +1 -1
  23. package/dist/services/code-analysis-service.js +412 -10
  24. package/dist/services/code-analysis-service.js.map +1 -1
  25. package/dist/services/knowledge-service.d.ts.map +1 -1
  26. package/dist/services/knowledge-service.js.map +1 -1
  27. package/dist/services/methodology-service.d.ts +34 -2
  28. package/dist/services/methodology-service.d.ts.map +1 -1
  29. package/dist/services/methodology-service.js +279 -24
  30. package/dist/services/methodology-service.js.map +1 -1
  31. package/dist/services/multi-content-layer-service.d.ts.map +1 -1
  32. package/dist/services/multi-content-layer-service.js +26 -9
  33. package/dist/services/multi-content-layer-service.js.map +1 -1
  34. package/dist/services/relevance-index-service.d.ts +95 -0
  35. package/dist/services/relevance-index-service.d.ts.map +1 -0
  36. package/dist/services/relevance-index-service.js +321 -0
  37. package/dist/services/relevance-index-service.js.map +1 -0
  38. package/dist/services/roleplay-engine.d.ts +8 -0
  39. package/dist/services/roleplay-engine.d.ts.map +1 -1
  40. package/dist/services/roleplay-engine.js +35 -3
  41. package/dist/services/roleplay-engine.js.map +1 -1
  42. package/dist/services/specialist-loader.d.ts +1 -0
  43. package/dist/services/specialist-loader.d.ts.map +1 -1
  44. package/dist/services/specialist-loader.js +1 -0
  45. package/dist/services/specialist-loader.js.map +1 -1
  46. package/dist/services/workflow-service.d.ts +12 -0
  47. package/dist/services/workflow-service.d.ts.map +1 -1
  48. package/dist/services/workflow-service.js +30 -0
  49. package/dist/services/workflow-service.js.map +1 -1
  50. package/dist/services/{enhanced-prompt-service.d.ts → workflow-specialist-router.d.ts} +41 -4
  51. package/dist/services/workflow-specialist-router.d.ts.map +1 -0
  52. package/dist/services/{enhanced-prompt-service.js → workflow-specialist-router.js} +150 -24
  53. package/dist/services/workflow-specialist-router.js.map +1 -0
  54. package/dist/services/workflow-v2/index.d.ts +6 -0
  55. package/dist/services/workflow-v2/index.d.ts.map +1 -0
  56. package/dist/services/workflow-v2/index.js +6 -0
  57. package/dist/services/workflow-v2/index.js.map +1 -0
  58. package/dist/services/workflow-v2/workflow-definitions.d.ts +53 -0
  59. package/dist/services/workflow-v2/workflow-definitions.d.ts.map +1 -0
  60. package/dist/services/workflow-v2/workflow-definitions.js +722 -0
  61. package/dist/services/workflow-v2/workflow-definitions.js.map +1 -0
  62. package/dist/services/workflow-v2/workflow-session-manager.d.ts +140 -0
  63. package/dist/services/workflow-v2/workflow-session-manager.d.ts.map +1 -0
  64. package/dist/services/workflow-v2/workflow-session-manager.js +820 -0
  65. package/dist/services/workflow-v2/workflow-session-manager.js.map +1 -0
  66. package/dist/streamlined-handlers.d.ts +7 -86
  67. package/dist/streamlined-handlers.d.ts.map +1 -1
  68. package/dist/streamlined-handlers.js +23 -679
  69. package/dist/streamlined-handlers.js.map +1 -1
  70. package/dist/tools/_shared/workspace-constants.d.ts +49 -0
  71. package/dist/tools/_shared/workspace-constants.d.ts.map +1 -0
  72. package/dist/tools/_shared/workspace-constants.js +53 -0
  73. package/dist/tools/_shared/workspace-constants.js.map +1 -0
  74. package/dist/tools/advance_workflow/handler.d.ts +21 -0
  75. package/dist/tools/advance_workflow/handler.d.ts.map +1 -0
  76. package/dist/tools/advance_workflow/handler.js +58 -0
  77. package/dist/tools/advance_workflow/handler.js.map +1 -0
  78. package/dist/tools/advance_workflow/schema.d.ts +8 -0
  79. package/dist/tools/advance_workflow/schema.d.ts.map +1 -0
  80. package/dist/tools/advance_workflow/schema.js +28 -0
  81. package/dist/tools/advance_workflow/schema.js.map +1 -0
  82. package/dist/tools/analyze_al_code/handler.d.ts +12 -0
  83. package/dist/tools/analyze_al_code/handler.d.ts.map +1 -0
  84. package/dist/tools/analyze_al_code/handler.js +312 -0
  85. package/dist/tools/analyze_al_code/handler.js.map +1 -0
  86. package/dist/tools/analyze_al_code/schema.d.ts +8 -0
  87. package/dist/tools/analyze_al_code/schema.d.ts.map +1 -0
  88. package/dist/tools/analyze_al_code/schema.js +54 -0
  89. package/dist/tools/analyze_al_code/schema.js.map +1 -0
  90. package/dist/tools/ask_bc_expert/handler.d.ts +21 -0
  91. package/dist/tools/ask_bc_expert/handler.d.ts.map +1 -0
  92. package/dist/tools/ask_bc_expert/handler.js +118 -0
  93. package/dist/tools/ask_bc_expert/handler.js.map +1 -0
  94. package/dist/tools/ask_bc_expert/schema.d.ts +8 -0
  95. package/dist/tools/ask_bc_expert/schema.d.ts.map +1 -0
  96. package/dist/tools/ask_bc_expert/schema.js +33 -0
  97. package/dist/tools/ask_bc_expert/schema.js.map +1 -0
  98. package/dist/tools/context-snapshot/handler.d.ts +14 -0
  99. package/dist/tools/context-snapshot/handler.d.ts.map +1 -0
  100. package/dist/tools/context-snapshot/handler.js +143 -0
  101. package/dist/tools/context-snapshot/handler.js.map +1 -0
  102. package/dist/tools/context-snapshot/schema.d.ts +11 -0
  103. package/dist/tools/context-snapshot/schema.d.ts.map +1 -0
  104. package/dist/tools/context-snapshot/schema.js +46 -0
  105. package/dist/tools/context-snapshot/schema.js.map +1 -0
  106. package/dist/tools/core-tools.d.ts +1 -1
  107. package/dist/tools/core-tools.d.ts.map +1 -1
  108. package/dist/tools/core-tools.js +27 -10
  109. package/dist/tools/core-tools.js.map +1 -1
  110. package/dist/tools/create_layer_content/handler.d.ts +17 -0
  111. package/dist/tools/create_layer_content/handler.d.ts.map +1 -0
  112. package/dist/tools/create_layer_content/handler.js +248 -0
  113. package/dist/tools/create_layer_content/handler.js.map +1 -0
  114. package/dist/tools/create_layer_content/schema.d.ts +9 -0
  115. package/dist/tools/create_layer_content/schema.d.ts.map +1 -0
  116. package/dist/tools/create_layer_content/schema.js +42 -0
  117. package/dist/tools/create_layer_content/schema.js.map +1 -0
  118. package/dist/tools/debug/diagnose_git_layer/handler.d.ts +6 -0
  119. package/dist/tools/debug/diagnose_git_layer/handler.d.ts.map +1 -0
  120. package/dist/tools/debug/diagnose_git_layer/handler.js +286 -0
  121. package/dist/tools/debug/diagnose_git_layer/handler.js.map +1 -0
  122. package/dist/tools/debug/diagnose_git_layer/schema.d.ts +6 -0
  123. package/dist/tools/debug/diagnose_git_layer/schema.d.ts.map +1 -0
  124. package/dist/tools/debug/diagnose_git_layer/schema.js +35 -0
  125. package/dist/tools/debug/diagnose_git_layer/schema.js.map +1 -0
  126. package/dist/tools/debug/diagnose_local_layer/handler.d.ts +6 -0
  127. package/dist/tools/debug/diagnose_local_layer/handler.d.ts.map +1 -0
  128. package/dist/tools/debug/diagnose_local_layer/handler.js +285 -0
  129. package/dist/tools/debug/diagnose_local_layer/handler.js.map +1 -0
  130. package/dist/tools/debug/diagnose_local_layer/schema.d.ts +6 -0
  131. package/dist/tools/debug/diagnose_local_layer/schema.d.ts.map +1 -0
  132. package/dist/tools/debug/diagnose_local_layer/schema.js +16 -0
  133. package/dist/tools/debug/diagnose_local_layer/schema.js.map +1 -0
  134. package/dist/tools/debug/get_layer_diagnostics/handler.d.ts +7 -0
  135. package/dist/tools/debug/get_layer_diagnostics/handler.d.ts.map +1 -0
  136. package/dist/tools/debug/get_layer_diagnostics/handler.js +46 -0
  137. package/dist/tools/debug/get_layer_diagnostics/handler.js.map +1 -0
  138. package/dist/tools/debug/get_layer_diagnostics/schema.d.ts +6 -0
  139. package/dist/tools/debug/get_layer_diagnostics/schema.d.ts.map +1 -0
  140. package/dist/tools/debug/get_layer_diagnostics/schema.js +20 -0
  141. package/dist/tools/debug/get_layer_diagnostics/schema.js.map +1 -0
  142. package/dist/tools/debug/reload_layers/handler.d.ts +8 -0
  143. package/dist/tools/debug/reload_layers/handler.d.ts.map +1 -0
  144. package/dist/tools/debug/reload_layers/handler.js +83 -0
  145. package/dist/tools/debug/reload_layers/handler.js.map +1 -0
  146. package/dist/tools/debug/reload_layers/schema.d.ts +6 -0
  147. package/dist/tools/debug/reload_layers/schema.d.ts.map +1 -0
  148. package/dist/tools/debug/reload_layers/schema.js +20 -0
  149. package/dist/tools/debug/reload_layers/schema.js.map +1 -0
  150. package/dist/tools/debug/test_azure_devops_pat/handler.d.ts +6 -0
  151. package/dist/tools/debug/test_azure_devops_pat/handler.d.ts.map +1 -0
  152. package/dist/tools/debug/test_azure_devops_pat/handler.js +16 -0
  153. package/dist/tools/debug/test_azure_devops_pat/handler.js.map +1 -0
  154. package/dist/tools/debug/test_azure_devops_pat/schema.d.ts +6 -0
  155. package/dist/tools/debug/test_azure_devops_pat/schema.d.ts.map +1 -0
  156. package/dist/tools/debug/test_azure_devops_pat/schema.js +27 -0
  157. package/dist/tools/debug/test_azure_devops_pat/schema.js.map +1 -0
  158. package/dist/tools/debug/validate_layer_config/handler.d.ts +6 -0
  159. package/dist/tools/debug/validate_layer_config/handler.d.ts.map +1 -0
  160. package/dist/tools/debug/validate_layer_config/handler.js +17 -0
  161. package/dist/tools/debug/validate_layer_config/handler.js.map +1 -0
  162. package/dist/tools/debug/validate_layer_config/schema.d.ts +6 -0
  163. package/dist/tools/debug/validate_layer_config/schema.d.ts.map +1 -0
  164. package/dist/tools/debug/validate_layer_config/schema.js +21 -0
  165. package/dist/tools/debug/validate_layer_config/schema.js.map +1 -0
  166. package/dist/tools/find_bc_knowledge/handler.d.ts +21 -0
  167. package/dist/tools/find_bc_knowledge/handler.d.ts.map +1 -0
  168. package/dist/tools/find_bc_knowledge/handler.js +71 -0
  169. package/dist/tools/find_bc_knowledge/handler.js.map +1 -0
  170. package/dist/tools/find_bc_knowledge/schema.d.ts +8 -0
  171. package/dist/tools/find_bc_knowledge/schema.d.ts.map +1 -0
  172. package/dist/tools/find_bc_knowledge/schema.js +35 -0
  173. package/dist/tools/find_bc_knowledge/schema.js.map +1 -0
  174. package/dist/tools/get_bc_topic/handler.d.ts +12 -0
  175. package/dist/tools/get_bc_topic/handler.d.ts.map +1 -0
  176. package/dist/tools/get_bc_topic/handler.js +35 -0
  177. package/dist/tools/get_bc_topic/handler.js.map +1 -0
  178. package/dist/tools/get_bc_topic/schema.d.ts +8 -0
  179. package/dist/tools/get_bc_topic/schema.d.ts.map +1 -0
  180. package/dist/tools/get_bc_topic/schema.js +29 -0
  181. package/dist/tools/get_bc_topic/schema.js.map +1 -0
  182. package/dist/tools/get_codelens_mappings/handler.d.ts +8 -0
  183. package/dist/tools/get_codelens_mappings/handler.d.ts.map +1 -0
  184. package/dist/tools/get_codelens_mappings/handler.js +79 -0
  185. package/dist/tools/get_codelens_mappings/handler.js.map +1 -0
  186. package/dist/tools/get_codelens_mappings/schema.d.ts +9 -0
  187. package/dist/tools/get_codelens_mappings/schema.d.ts.map +1 -0
  188. package/dist/tools/get_codelens_mappings/schema.js +16 -0
  189. package/dist/tools/get_codelens_mappings/schema.js.map +1 -0
  190. package/dist/tools/get_workflow_help/handler.d.ts +12 -0
  191. package/dist/tools/get_workflow_help/handler.d.ts.map +1 -0
  192. package/dist/tools/get_workflow_help/handler.js +54 -0
  193. package/dist/tools/get_workflow_help/handler.js.map +1 -0
  194. package/dist/tools/get_workflow_help/schema.d.ts +8 -0
  195. package/dist/tools/get_workflow_help/schema.d.ts.map +1 -0
  196. package/dist/tools/get_workflow_help/schema.js +25 -0
  197. package/dist/tools/get_workflow_help/schema.js.map +1 -0
  198. package/dist/tools/get_workspace_info/handler.d.ts +16 -0
  199. package/dist/tools/get_workspace_info/handler.d.ts.map +1 -0
  200. package/dist/tools/get_workspace_info/handler.js +36 -0
  201. package/dist/tools/get_workspace_info/handler.js.map +1 -0
  202. package/dist/tools/get_workspace_info/schema.d.ts +8 -0
  203. package/dist/tools/get_workspace_info/schema.d.ts.map +1 -0
  204. package/dist/tools/get_workspace_info/schema.js +15 -0
  205. package/dist/tools/get_workspace_info/schema.js.map +1 -0
  206. package/dist/tools/handlers.d.ts +48 -0
  207. package/dist/tools/handlers.d.ts.map +1 -0
  208. package/dist/tools/handlers.js +81 -0
  209. package/dist/tools/handlers.js.map +1 -0
  210. package/dist/tools/index.d.ts +132 -38
  211. package/dist/tools/index.d.ts.map +1 -1
  212. package/dist/tools/index.js +184 -52
  213. package/dist/tools/index.js.map +1 -1
  214. package/dist/tools/knowledge-query/handler.d.ts +29 -0
  215. package/dist/tools/knowledge-query/handler.d.ts.map +1 -0
  216. package/dist/tools/knowledge-query/handler.js +85 -0
  217. package/dist/tools/knowledge-query/handler.js.map +1 -0
  218. package/dist/tools/knowledge-query/schema.d.ts +12 -0
  219. package/dist/tools/knowledge-query/schema.d.ts.map +1 -0
  220. package/dist/tools/knowledge-query/schema.js +64 -0
  221. package/dist/tools/knowledge-query/schema.js.map +1 -0
  222. package/dist/tools/list_prompts/handler.d.ts +11 -0
  223. package/dist/tools/list_prompts/handler.d.ts.map +1 -0
  224. package/dist/tools/list_prompts/handler.js +102 -0
  225. package/dist/tools/list_prompts/handler.js.map +1 -0
  226. package/dist/tools/list_prompts/schema.d.ts +9 -0
  227. package/dist/tools/list_prompts/schema.d.ts.map +1 -0
  228. package/dist/tools/list_prompts/schema.js +28 -0
  229. package/dist/tools/list_prompts/schema.js.map +1 -0
  230. package/dist/tools/list_specialists/handler.d.ts +12 -0
  231. package/dist/tools/list_specialists/handler.d.ts.map +1 -0
  232. package/dist/tools/list_specialists/handler.js +68 -0
  233. package/dist/tools/list_specialists/handler.js.map +1 -0
  234. package/dist/tools/list_specialists/schema.d.ts +8 -0
  235. package/dist/tools/list_specialists/schema.d.ts.map +1 -0
  236. package/dist/tools/list_specialists/schema.js +24 -0
  237. package/dist/tools/list_specialists/schema.js.map +1 -0
  238. package/dist/tools/scaffold_layer_repo/handler.d.ts +15 -0
  239. package/dist/tools/scaffold_layer_repo/handler.d.ts.map +1 -0
  240. package/dist/tools/scaffold_layer_repo/handler.js +410 -0
  241. package/dist/tools/scaffold_layer_repo/handler.js.map +1 -0
  242. package/dist/tools/scaffold_layer_repo/schema.d.ts +9 -0
  243. package/dist/tools/scaffold_layer_repo/schema.d.ts.map +1 -0
  244. package/dist/tools/scaffold_layer_repo/schema.js +35 -0
  245. package/dist/tools/scaffold_layer_repo/schema.js.map +1 -0
  246. package/dist/tools/set_workspace_info/handler.d.ts +22 -0
  247. package/dist/tools/set_workspace_info/handler.d.ts.map +1 -0
  248. package/dist/tools/set_workspace_info/handler.js +60 -0
  249. package/dist/tools/set_workspace_info/handler.js.map +1 -0
  250. package/dist/tools/set_workspace_info/schema.d.ts +8 -0
  251. package/dist/tools/set_workspace_info/schema.d.ts.map +1 -0
  252. package/dist/tools/set_workspace_info/schema.js +25 -0
  253. package/dist/tools/set_workspace_info/schema.js.map +1 -0
  254. package/dist/tools/specialist-consult/handler.d.ts +23 -0
  255. package/dist/tools/specialist-consult/handler.d.ts.map +1 -0
  256. package/dist/tools/specialist-consult/handler.js +120 -0
  257. package/dist/tools/specialist-consult/handler.js.map +1 -0
  258. package/dist/tools/specialist-consult/schema.d.ts +11 -0
  259. package/dist/tools/specialist-consult/schema.d.ts.map +1 -0
  260. package/dist/tools/specialist-consult/schema.js +47 -0
  261. package/dist/tools/specialist-consult/schema.js.map +1 -0
  262. package/dist/tools/specialist-discovery-tools.d.ts.map +1 -1
  263. package/dist/tools/specialist-discovery-tools.js +6 -0
  264. package/dist/tools/specialist-discovery-tools.js.map +1 -1
  265. package/dist/tools/specialist-list/handler.d.ts +14 -0
  266. package/dist/tools/specialist-list/handler.d.ts.map +1 -0
  267. package/dist/tools/specialist-list/handler.js +70 -0
  268. package/dist/tools/specialist-list/handler.js.map +1 -0
  269. package/dist/tools/specialist-list/schema.d.ts +11 -0
  270. package/dist/tools/specialist-list/schema.d.ts.map +1 -0
  271. package/dist/tools/specialist-list/schema.js +29 -0
  272. package/dist/tools/specialist-list/schema.js.map +1 -0
  273. package/dist/tools/start_bc_workflow/handler.d.ts +21 -0
  274. package/dist/tools/start_bc_workflow/handler.d.ts.map +1 -0
  275. package/dist/tools/start_bc_workflow/handler.js +237 -0
  276. package/dist/tools/start_bc_workflow/handler.js.map +1 -0
  277. package/dist/tools/start_bc_workflow/schema.d.ts +8 -0
  278. package/dist/tools/start_bc_workflow/schema.d.ts.map +1 -0
  279. package/dist/tools/start_bc_workflow/schema.js +43 -0
  280. package/dist/tools/start_bc_workflow/schema.js.map +1 -0
  281. package/dist/tools/validate_layer_repo/handler.d.ts +10 -0
  282. package/dist/tools/validate_layer_repo/handler.d.ts.map +1 -0
  283. package/dist/tools/validate_layer_repo/handler.js +148 -0
  284. package/dist/tools/validate_layer_repo/handler.js.map +1 -0
  285. package/dist/tools/validate_layer_repo/schema.d.ts +9 -0
  286. package/dist/tools/validate_layer_repo/schema.d.ts.map +1 -0
  287. package/dist/tools/validate_layer_repo/schema.js +21 -0
  288. package/dist/tools/validate_layer_repo/schema.js.map +1 -0
  289. package/dist/tools/workflow-execute/handler.d.ts +44 -0
  290. package/dist/tools/workflow-execute/handler.d.ts.map +1 -0
  291. package/dist/tools/workflow-execute/handler.js +333 -0
  292. package/dist/tools/workflow-execute/handler.js.map +1 -0
  293. package/dist/tools/workflow-execute/schema.d.ts +13 -0
  294. package/dist/tools/workflow-execute/schema.d.ts.map +1 -0
  295. package/dist/tools/workflow-execute/schema.js +108 -0
  296. package/dist/tools/workflow-execute/schema.js.map +1 -0
  297. package/dist/tools/workflow_batch/handler.d.ts +21 -0
  298. package/dist/tools/workflow_batch/handler.d.ts.map +1 -0
  299. package/dist/tools/workflow_batch/handler.js +304 -0
  300. package/dist/tools/workflow_batch/handler.js.map +1 -0
  301. package/dist/tools/workflow_batch/schema.d.ts +8 -0
  302. package/dist/tools/workflow_batch/schema.d.ts.map +1 -0
  303. package/dist/tools/workflow_batch/schema.js +76 -0
  304. package/dist/tools/workflow_batch/schema.js.map +1 -0
  305. package/dist/tools/workflow_cancel/handler.d.ts +21 -0
  306. package/dist/tools/workflow_cancel/handler.d.ts.map +1 -0
  307. package/dist/tools/workflow_cancel/handler.js +157 -0
  308. package/dist/tools/workflow_cancel/handler.js.map +1 -0
  309. package/dist/tools/workflow_cancel/schema.d.ts +8 -0
  310. package/dist/tools/workflow_cancel/schema.d.ts.map +1 -0
  311. package/dist/tools/workflow_cancel/schema.js +34 -0
  312. package/dist/tools/workflow_cancel/schema.js.map +1 -0
  313. package/dist/tools/workflow_complete/handler.d.ts +21 -0
  314. package/dist/tools/workflow_complete/handler.d.ts.map +1 -0
  315. package/dist/tools/workflow_complete/handler.js +124 -0
  316. package/dist/tools/workflow_complete/handler.js.map +1 -0
  317. package/dist/tools/workflow_complete/schema.d.ts +8 -0
  318. package/dist/tools/workflow_complete/schema.d.ts.map +1 -0
  319. package/dist/tools/workflow_complete/schema.js +45 -0
  320. package/dist/tools/workflow_complete/schema.js.map +1 -0
  321. package/dist/tools/workflow_list/handler.d.ts +19 -0
  322. package/dist/tools/workflow_list/handler.d.ts.map +1 -0
  323. package/dist/tools/workflow_list/handler.js +58 -0
  324. package/dist/tools/workflow_list/handler.js.map +1 -0
  325. package/dist/tools/workflow_list/schema.d.ts +8 -0
  326. package/dist/tools/workflow_list/schema.d.ts.map +1 -0
  327. package/dist/tools/workflow_list/schema.js +26 -0
  328. package/dist/tools/workflow_list/schema.js.map +1 -0
  329. package/dist/tools/workflow_next/handler.d.ts +21 -0
  330. package/dist/tools/workflow_next/handler.d.ts.map +1 -0
  331. package/dist/tools/workflow_next/handler.js +90 -0
  332. package/dist/tools/workflow_next/handler.js.map +1 -0
  333. package/dist/tools/workflow_next/schema.d.ts +8 -0
  334. package/dist/tools/workflow_next/schema.d.ts.map +1 -0
  335. package/dist/tools/workflow_next/schema.js +28 -0
  336. package/dist/tools/workflow_next/schema.js.map +1 -0
  337. package/dist/tools/workflow_progress/handler.d.ts +21 -0
  338. package/dist/tools/workflow_progress/handler.d.ts.map +1 -0
  339. package/dist/tools/workflow_progress/handler.js +147 -0
  340. package/dist/tools/workflow_progress/handler.js.map +1 -0
  341. package/dist/tools/workflow_progress/schema.d.ts +8 -0
  342. package/dist/tools/workflow_progress/schema.d.ts.map +1 -0
  343. package/dist/tools/workflow_progress/schema.js +111 -0
  344. package/dist/tools/workflow_progress/schema.js.map +1 -0
  345. package/dist/tools/workflow_start/handler.d.ts +21 -0
  346. package/dist/tools/workflow_start/handler.d.ts.map +1 -0
  347. package/dist/tools/workflow_start/handler.js +133 -0
  348. package/dist/tools/workflow_start/handler.js.map +1 -0
  349. package/dist/tools/workflow_start/schema.d.ts +8 -0
  350. package/dist/tools/workflow_start/schema.d.ts.map +1 -0
  351. package/dist/tools/workflow_start/schema.js +102 -0
  352. package/dist/tools/workflow_start/schema.js.map +1 -0
  353. package/dist/tools/workflow_start_v2/handler.d.ts +21 -0
  354. package/dist/tools/workflow_start_v2/handler.d.ts.map +1 -0
  355. package/dist/tools/workflow_start_v2/handler.js +133 -0
  356. package/dist/tools/workflow_start_v2/handler.js.map +1 -0
  357. package/dist/tools/workflow_start_v2/schema.d.ts +8 -0
  358. package/dist/tools/workflow_start_v2/schema.d.ts.map +1 -0
  359. package/dist/tools/workflow_start_v2/schema.js +102 -0
  360. package/dist/tools/workflow_start_v2/schema.js.map +1 -0
  361. package/dist/tools/workflow_status/handler.d.ts +21 -0
  362. package/dist/tools/workflow_status/handler.d.ts.map +1 -0
  363. package/dist/tools/workflow_status/handler.js +107 -0
  364. package/dist/tools/workflow_status/handler.js.map +1 -0
  365. package/dist/tools/workflow_status/schema.d.ts +8 -0
  366. package/dist/tools/workflow_status/schema.d.ts.map +1 -0
  367. package/dist/tools/workflow_status/schema.js +33 -0
  368. package/dist/tools/workflow_status/schema.js.map +1 -0
  369. package/dist/types/bc-knowledge.d.ts +64 -13
  370. package/dist/types/bc-knowledge.d.ts.map +1 -1
  371. package/dist/types/bc-knowledge.js +15 -0
  372. package/dist/types/bc-knowledge.js.map +1 -1
  373. package/dist/types/enhanced-layer-types.d.ts +3 -3
  374. package/dist/types/enhanced-layer-types.d.ts.map +1 -1
  375. package/dist/types/workflow-v2-types.d.ts +577 -0
  376. package/dist/types/workflow-v2-types.d.ts.map +1 -0
  377. package/dist/types/workflow-v2-types.js +10 -0
  378. package/dist/types/workflow-v2-types.js.map +1 -0
  379. package/embedded-knowledge/codelens-mappings.yaml +111 -0
  380. package/embedded-knowledge/domains/alex-architect/api-delegate-operation-pattern.md +10 -0
  381. package/embedded-knowledge/domains/alex-architect/api-fieldset-registration-pattern.md +10 -0
  382. package/embedded-knowledge/domains/alex-architect/api-interface-design-patterns.md +10 -0
  383. package/embedded-knowledge/domains/alex-architect/api-page-development-patterns.md +10 -0
  384. package/embedded-knowledge/domains/alex-architect/complex-facade-patterns.md +10 -0
  385. package/embedded-knowledge/domains/alex-architect/delegating-to-github-copilot-agents.md +10 -0
  386. package/embedded-knowledge/domains/alex-architect/facade-pattern-al-implementation.md +10 -0
  387. package/embedded-knowledge/domains/alex-architect/facade-pattern-external-api.md +10 -0
  388. package/embedded-knowledge/domains/alex-architect/object-id-ninja-integration.md +10 -0
  389. package/embedded-knowledge/domains/alex-architect/recommend-object-id-ninja.md +10 -0
  390. package/embedded-knowledge/domains/alex-architect/subscriber-codeunit-size-optimization.md +12 -2
  391. package/embedded-knowledge/domains/alex-architect/systemid-integration.md +12 -2
  392. package/embedded-knowledge/domains/alex-architect/testability-design-patterns.md +10 -0
  393. package/embedded-knowledge/domains/casey-copilot/long-running-session-instructions.md +10 -0
  394. package/embedded-knowledge/domains/chris-config/configuration-file-discovery.md +10 -0
  395. package/embedded-knowledge/domains/chris-config/configuration-file-formats.md +10 -0
  396. package/embedded-knowledge/domains/chris-config/content-types-structure.md +10 -0
  397. package/embedded-knowledge/domains/chris-config/knowledge-content-creation.md +10 -0
  398. package/embedded-knowledge/domains/chris-config/layer-system-fundamentals.md +10 -0
  399. package/embedded-knowledge/domains/chris-config/multi-team-layer-configuration.md +10 -0
  400. package/embedded-knowledge/domains/chris-config/workspace-detection-solutions.md +10 -0
  401. package/embedded-knowledge/domains/dean-debug/bc-telemetry-buddy-integration.md +10 -0
  402. package/embedded-knowledge/domains/dean-debug/bc24-no-series-conversion-guide.md +10 -0
  403. package/embedded-knowledge/domains/dean-debug/case-statement-performance-best-practices.md +12 -2
  404. package/embedded-knowledge/domains/dean-debug/compound-statements-debugging.md +12 -2
  405. package/embedded-knowledge/domains/dean-debug/custom-dimensions-best-practices.md +12 -2
  406. package/embedded-knowledge/domains/dean-debug/custom-telemetry-implementation.md +10 -0
  407. package/embedded-knowledge/domains/dean-debug/deleteall-performance-tradeoff.md +12 -2
  408. package/embedded-knowledge/domains/dean-debug/deleteall-sql-performance.md +10 -0
  409. package/embedded-knowledge/domains/dean-debug/extension-telemetry-isolation.md +12 -2
  410. package/embedded-knowledge/domains/dean-debug/maintainsiftindex-property-behavior.md +10 -0
  411. package/embedded-knowledge/domains/dean-debug/no-series-implementation-patterns.md +10 -0
  412. package/embedded-knowledge/domains/dean-debug/no-series-module-patterns-bc24.md +10 -0
  413. package/embedded-knowledge/domains/dean-debug/no-series-validation-module-bc24.md +10 -0
  414. package/embedded-knowledge/domains/dean-debug/no-series-validation-patterns.md +10 -0
  415. package/embedded-knowledge/domains/dean-debug/odata-query-optimization.md +12 -2
  416. package/embedded-knowledge/domains/dean-debug/recommend-bc-telemetry-buddy.md +10 -0
  417. package/embedded-knowledge/domains/dean-debug/session-logmessage-methods.md +12 -2
  418. package/embedded-knowledge/domains/dean-debug/setloadfields-filter-field-exclusion.md +12 -2
  419. package/embedded-knowledge/domains/dean-debug/setloadfields-performance-impact.md +10 -0
  420. package/embedded-knowledge/domains/dean-debug/setloadfields-performance-optimization.md +10 -0
  421. package/embedded-knowledge/domains/dean-debug/setloadfields-placement-before-case-statements.md +12 -2
  422. package/embedded-knowledge/domains/dean-debug/setloadfields-placement-before-filters.md +12 -2
  423. package/embedded-knowledge/domains/dean-debug/setloadfields-primary-key-optimization.md +12 -2
  424. package/embedded-knowledge/domains/dean-debug/sift-technology-fundamentals.md +10 -0
  425. package/embedded-knowledge/domains/dean-debug/subscriber-singleinstance-performance.md +12 -2
  426. package/embedded-knowledge/domains/dean-debug/table-event-batch-operation-impact.md +12 -2
  427. package/embedded-knowledge/domains/dean-debug/table-key-requirements.md +12 -2
  428. package/embedded-knowledge/domains/dean-debug/telemetry-error-correlation.md +12 -2
  429. package/embedded-knowledge/domains/dean-debug/telemetry-performance-considerations.md +12 -2
  430. package/embedded-knowledge/domains/dean-debug/telemetry-verbosity-strategy.md +12 -2
  431. package/embedded-knowledge/domains/dean-debug/testfield-performance.md +12 -2
  432. package/embedded-knowledge/domains/eva-errors/codeunit-run-pattern.md +10 -0
  433. package/embedded-knowledge/domains/eva-errors/fielderror-default-messages.md +12 -2
  434. package/embedded-knowledge/domains/eva-errors/fielderror-message-construction.md +12 -2
  435. package/embedded-knowledge/domains/eva-errors/fielderror-method-syntax.md +12 -2
  436. package/embedded-knowledge/domains/eva-errors/testfield-error-handling.md +12 -2
  437. package/embedded-knowledge/domains/eva-errors/try-function-usage.md +10 -0
  438. package/embedded-knowledge/domains/jordan-bridge/al-event-subscriber-architecture.md +10 -0
  439. package/embedded-knowledge/domains/jordan-bridge/automatic-registration.md +12 -2
  440. package/embedded-knowledge/domains/jordan-bridge/business-process-template-patterns.md +10 -0
  441. package/embedded-knowledge/domains/jordan-bridge/error-response-patterns.md +12 -2
  442. package/embedded-knowledge/domains/jordan-bridge/etag-implementation.md +12 -2
  443. package/embedded-knowledge/domains/jordan-bridge/field-control-selection.md +12 -2
  444. package/embedded-knowledge/domains/jordan-bridge/task-scheduler-pattern-implementation.md +10 -0
  445. package/embedded-knowledge/domains/jordan-bridge/url-structure-naming-patterns.md +12 -2
  446. package/embedded-knowledge/domains/maya-mentor/case-multiple-conditions-ranges.md +12 -2
  447. package/embedded-knowledge/domains/maya-mentor/case-statement-syntax-structure.md +12 -2
  448. package/embedded-knowledge/domains/maya-mentor/fielderror-syntax-usage.md +12 -2
  449. package/embedded-knowledge/domains/maya-mentor/fielderror-vs-testfield.md +12 -2
  450. package/embedded-knowledge/domains/maya-mentor/testfield-basic-syntax.md +12 -2
  451. package/embedded-knowledge/domains/morgan-market/partner-readiness-analysis.md +10 -0
  452. package/embedded-knowledge/domains/parker-pragmatic/proposal-workflows/creating-effective-proposals.md +10 -0
  453. package/embedded-knowledge/domains/parker-pragmatic/trust-building/working-with-ai-skeptics.md +10 -0
  454. package/embedded-knowledge/domains/quinn-tester/fielderror-validation-patterns.md +12 -2
  455. package/embedded-knowledge/domains/quinn-tester/isolation-testing-patterns.md +10 -0
  456. package/embedded-knowledge/domains/quinn-tester/rule-execution.md +12 -2
  457. package/embedded-knowledge/domains/quinn-tester/table-safety-validation-patterns.md +12 -2
  458. package/embedded-knowledge/domains/quinn-tester/temporary-table-operation-validation.md +12 -2
  459. package/embedded-knowledge/domains/roger-reviewer/al-begin-end-block-structure.md +10 -0
  460. package/embedded-knowledge/domains/roger-reviewer/al-binary-operator-spacing.md +10 -0
  461. package/embedded-knowledge/domains/roger-reviewer/al-blank-line-organization.md +10 -0
  462. package/embedded-knowledge/domains/roger-reviewer/al-case-action-formatting.md +10 -0
  463. package/embedded-knowledge/domains/roger-reviewer/al-code-spacing-conventions.md +12 -2
  464. package/embedded-knowledge/domains/roger-reviewer/al-comment-spacing-standards.md +10 -0
  465. package/embedded-knowledge/domains/roger-reviewer/al-end-else-pairing.md +10 -0
  466. package/embedded-knowledge/domains/roger-reviewer/al-keyword-indentation-rules.md +10 -0
  467. package/embedded-knowledge/domains/roger-reviewer/al-line-start-keyword-positioning.md +10 -0
  468. package/embedded-knowledge/domains/roger-reviewer/al-separate-if-else-formatting.md +10 -0
  469. package/embedded-knowledge/domains/roger-reviewer/al-standard-abbreviations.md +10 -0
  470. package/embedded-knowledge/domains/roger-reviewer/al-statement-per-line-rule.md +10 -0
  471. package/embedded-knowledge/domains/roger-reviewer/al-unnecessary-else-elimination.md +10 -0
  472. package/embedded-knowledge/domains/roger-reviewer/al-variable-declaration-order.md +10 -0
  473. package/embedded-knowledge/domains/roger-reviewer/al-variable-naming-conventions.md +10 -0
  474. package/embedded-knowledge/domains/roger-reviewer/begin-block-statement-clarity.md +10 -0
  475. package/embedded-knowledge/domains/roger-reviewer/begin-end-positioning-patterns.md +10 -0
  476. package/embedded-knowledge/domains/roger-reviewer/binary-operator-line-positioning.md +12 -2
  477. package/embedded-knowledge/domains/roger-reviewer/boolean-expression-simplification-al.md +10 -0
  478. package/embedded-knowledge/domains/roger-reviewer/case-statement-error-handling-troubleshooting.md +12 -2
  479. package/embedded-knowledge/domains/roger-reviewer/compound-statement-readability.md +12 -2
  480. package/embedded-knowledge/domains/roger-reviewer/lonely-repeat-statement-pattern.md +10 -0
  481. package/embedded-knowledge/domains/roger-reviewer/testability-code-smells.md +10 -0
  482. package/embedded-knowledge/domains/sam-coder/al-formatting-consistency-patterns.md +10 -0
  483. package/embedded-knowledge/domains/sam-coder/al-line-comment-formatting.md +12 -2
  484. package/embedded-knowledge/domains/sam-coder/al-lonely-repeat-pattern.md +10 -0
  485. package/embedded-knowledge/domains/sam-coder/al-named-parameter-pattern.md +10 -0
  486. package/embedded-knowledge/domains/sam-coder/al-object-navigation-shortcuts.md +10 -0
  487. package/embedded-knowledge/domains/sam-coder/al-readability-optimization.md +10 -0
  488. package/embedded-knowledge/domains/sam-coder/al-record-find-early-exit.md +10 -0
  489. package/embedded-knowledge/domains/sam-coder/command-queue-pattern-al.md +10 -0
  490. package/embedded-knowledge/domains/sam-coder/deleteall-alternative-implementation.md +12 -2
  491. package/embedded-knowledge/domains/sam-coder/deleteall-method-usage.md +10 -0
  492. package/embedded-knowledge/domains/sam-coder/deleteall-trigger-execution.md +10 -0
  493. package/embedded-knowledge/domains/sam-coder/event-bridge-pattern-al.md +10 -0
  494. package/embedded-knowledge/domains/sam-coder/event-payload-design-patterns.md +10 -0
  495. package/embedded-knowledge/domains/sam-coder/generic-method-patterns-al.md +10 -0
  496. package/embedded-knowledge/domains/sam-coder/manual-binding-conditional-subscribers.md +10 -0
  497. package/embedded-knowledge/domains/sam-coder/nested-compound-best-practices.md +10 -0
  498. package/embedded-knowledge/domains/sam-coder/single-to-compound-conversion.md +12 -2
  499. package/embedded-knowledge/domains/sam-coder/template-method-pattern-al.md +10 -0
  500. package/embedded-knowledge/domains/sam-coder/testfield-patterns.md +12 -2
  501. package/embedded-knowledge/domains/sam-coder/type-safe-operations-al.md +10 -0
  502. package/embedded-knowledge/domains/sam-coder/vs-code-al-keyboard-shortcuts.md +10 -0
  503. package/embedded-knowledge/domains/seth-security/al-temporary-table-safety.md +10 -0
  504. package/embedded-knowledge/domains/seth-security/api-permission-model.md +12 -2
  505. package/embedded-knowledge/domains/seth-security/istemporary-safeguard-pattern.md +12 -2
  506. package/embedded-knowledge/domains/shared/al-file-naming-conventions.md +10 -0
  507. package/embedded-knowledge/domains/taylor-docs/al-xml-documentation-structure.md +10 -0
  508. package/embedded-knowledge/domains/uma-ux/bc-action-shortcuts-syntax.md +12 -2
  509. package/embedded-knowledge/domains/uma-ux/shortcut-key-user-experience-design.md +12 -2
  510. package/embedded-knowledge/scripts/frontmatter_validator.ps1 +330 -0
  511. package/embedded-knowledge/specialists/sam-coder.md +29 -20
  512. package/embedded-knowledge/workflows/bc-version-upgrade.yaml +160 -0
  513. package/embedded-knowledge/workflows/code-review.yaml +148 -0
  514. package/embedded-knowledge/workflows/error-to-errorinfo-migration.yaml +137 -0
  515. package/embedded-knowledge/workflows/onboarding.yaml +124 -0
  516. package/embedded-knowledge/workflows/performance-audit.yaml +148 -0
  517. package/embedded-knowledge/workflows/proposal-review.yaml +117 -0
  518. package/embedded-knowledge/workflows/security-audit.yaml +139 -0
  519. package/package.json +4 -2
  520. package/dist/cache/cache-manager.d.ts +0 -95
  521. package/dist/cache/cache-manager.d.ts.map +0 -1
  522. package/dist/cache/cache-manager.js +0 -328
  523. package/dist/cache/cache-manager.js.map +0 -1
  524. package/dist/cli/bc-code-intel-cli.d.ts +0 -9
  525. package/dist/cli/bc-code-intel-cli.d.ts.map +0 -1
  526. package/dist/cli/bc-code-intel-cli.js +0 -440
  527. package/dist/cli/bc-code-intel-cli.js.map +0 -1
  528. package/dist/config/test-config-loader.d.ts +0 -10
  529. package/dist/config/test-config-loader.d.ts.map +0 -1
  530. package/dist/config/test-config-loader.js +0 -135
  531. package/dist/config/test-config-loader.js.map +0 -1
  532. package/dist/config/test-enhanced-layer-service.d.ts +0 -7
  533. package/dist/config/test-enhanced-layer-service.d.ts.map +0 -1
  534. package/dist/config/test-enhanced-layer-service.js +0 -104
  535. package/dist/config/test-enhanced-layer-service.js.map +0 -1
  536. package/dist/config/test-git-layer.d.ts +0 -7
  537. package/dist/config/test-git-layer.d.ts.map +0 -1
  538. package/dist/config/test-git-layer.js +0 -68
  539. package/dist/config/test-git-layer.js.map +0 -1
  540. package/dist/dev/hot-reload.d.ts +0 -91
  541. package/dist/dev/hot-reload.d.ts.map +0 -1
  542. package/dist/dev/hot-reload.js +0 -358
  543. package/dist/dev/hot-reload.js.map +0 -1
  544. package/dist/layers/layer-service.d.ts +0 -135
  545. package/dist/layers/layer-service.d.ts.map +0 -1
  546. package/dist/layers/layer-service.js +0 -586
  547. package/dist/layers/layer-service.js.map +0 -1
  548. package/dist/monitoring/production-monitor.d.ts +0 -148
  549. package/dist/monitoring/production-monitor.d.ts.map +0 -1
  550. package/dist/monitoring/production-monitor.js +0 -463
  551. package/dist/monitoring/production-monitor.js.map +0 -1
  552. package/dist/performance/performance-monitor.d.ts +0 -99
  553. package/dist/performance/performance-monitor.d.ts.map +0 -1
  554. package/dist/performance/performance-monitor.js +0 -253
  555. package/dist/performance/performance-monitor.js.map +0 -1
  556. package/dist/sdk/bc-code-intel-client.d.ts +0 -175
  557. package/dist/sdk/bc-code-intel-client.d.ts.map +0 -1
  558. package/dist/sdk/bc-code-intel-client.js +0 -380
  559. package/dist/sdk/bc-code-intel-client.js.map +0 -1
  560. package/dist/search/intelligent-search.d.ts +0 -97
  561. package/dist/search/intelligent-search.d.ts.map +0 -1
  562. package/dist/search/intelligent-search.js +0 -358
  563. package/dist/search/intelligent-search.js.map +0 -1
  564. package/dist/security/access-control.d.ts +0 -110
  565. package/dist/security/access-control.d.ts.map +0 -1
  566. package/dist/security/access-control.js +0 -353
  567. package/dist/security/access-control.js.map +0 -1
  568. package/dist/services/enhanced-prompt-service.d.ts.map +0 -1
  569. package/dist/services/enhanced-prompt-service.js.map +0 -1
  570. package/dist/setup/post-install.d.ts +0 -12
  571. package/dist/setup/post-install.d.ts.map +0 -1
  572. package/dist/setup/post-install.js +0 -81
  573. package/dist/setup/post-install.js.map +0 -1
  574. package/dist/test-enhanced-mcp-server.d.ts +0 -7
  575. package/dist/test-enhanced-mcp-server.d.ts.map +0 -1
  576. package/dist/test-enhanced-mcp-server.js +0 -177
  577. package/dist/test-enhanced-mcp-server.js.map +0 -1
  578. package/dist/tools/specialist-tools.d.ts +0 -43
  579. package/dist/tools/specialist-tools.d.ts.map +0 -1
  580. package/dist/tools/specialist-tools.js +0 -372
  581. package/dist/tools/specialist-tools.js.map +0 -1
  582. package/dist/utils/path-utils.d.ts +0 -5
  583. package/dist/utils/path-utils.d.ts.map +0 -1
  584. package/dist/utils/path-utils.js +0 -14
  585. package/dist/utils/path-utils.js.map +0 -1
  586. package/embedded-knowledge/methodologies/index.json +0 -81
  587. package/embedded-knowledge/methodologies/phases/analysis-full.md +0 -208
  588. package/embedded-knowledge/methodologies/phases/analysis-quick.md +0 -44
  589. package/embedded-knowledge/methodologies/phases/analysis.md +0 -182
  590. package/embedded-knowledge/methodologies/phases/execution-validation-full.md +0 -174
  591. package/embedded-knowledge/methodologies/phases/execution-validation-quick.md +0 -31
  592. package/embedded-knowledge/methodologies/phases/execution-validation.md +0 -174
  593. package/embedded-knowledge/methodologies/phases/performance-full.md +0 -211
  594. package/embedded-knowledge/methodologies/phases/performance-quick.md +0 -32
  595. package/embedded-knowledge/methodologies/phases/performance.md +0 -211
  596. package/embedded-knowledge/methodologies/phases/verification-full.md +0 -162
  597. package/embedded-knowledge/methodologies/phases/verification-quick.md +0 -48
  598. package/embedded-knowledge/methodologies/phases/verification.md +0 -146
  599. package/embedded-knowledge/methodologies/workflow-enforcement.md +0 -142
  600. package/embedded-knowledge/methodologies/workflows/code-review-workflow.md +0 -99
  601. package/embedded-knowledge/methodologies/workflows/proposal-review-workflow.md +0 -535
@@ -1,104 +0,0 @@
1
- /**
2
- * Test Enhanced Layer Service with Configuration System
3
- * Run with: npm run dev -- --test-enhanced-layers
4
- */
5
- import { ConfigurationLoader } from './config-loader.js';
6
- import { MultiContentLayerService } from '../services/multi-content-layer-service.js';
7
- import { LayerSourceType } from '../types/index.js';
8
- async function testEnhancedLayerService() {
9
- console.log('🔧 Testing Enhanced Layer Service...');
10
- try {
11
- // 1. Load configuration
12
- console.log('📋 Loading configuration...');
13
- const configLoader = new ConfigurationLoader();
14
- const configResult = await configLoader.loadConfiguration();
15
- if (configResult.validation_errors.length > 0) {
16
- console.error('❌ Configuration validation errors:');
17
- configResult.validation_errors.forEach(error => {
18
- console.error(` - ${error.field}: ${error.message}`);
19
- });
20
- return;
21
- }
22
- console.log(`✅ Configuration loaded with ${configResult.config.layers.length} layers`);
23
- // 2. Add a git layer for testing (if not in environment)
24
- if (!process.env['BCKB_COMPANY_KNOWLEDGE_URL']) {
25
- configResult.config.layers.push({
26
- name: 'test-git-layer',
27
- priority: 50,
28
- source: {
29
- type: LayerSourceType.GIT,
30
- url: 'https://github.com/microsoft/vscode-docs',
31
- branch: 'main',
32
- subpath: 'docs'
33
- },
34
- enabled: true
35
- });
36
- console.log('📦 Added test git layer for demonstration');
37
- }
38
- // 3. Create enhanced layer service
39
- console.log('🏗️ Creating enhanced layer service...');
40
- const layerService = new MultiContentLayerService();
41
- // 4. Initialize from configuration
42
- console.log('🔄 Initializing layers from configuration...');
43
- const initResults = await layerService.initializeFromConfiguration(configResult.config);
44
- console.log('\n📋 Layer Initialization Results:');
45
- console.log('─'.repeat(60));
46
- let totalTopics = 0;
47
- let successfulLayers = 0;
48
- for (const [layerName, result] of initResults) {
49
- const status = result.success ? '✅' : '❌';
50
- console.log(`${status} ${result.layer_name}:`);
51
- console.log(` Layer: ${layerName}`);
52
- console.log(` Topics: ${result.content_counts.topics || 0}`);
53
- console.log(` Specialists: ${result.content_counts.specialists || 0}`);
54
- console.log(` Load time: ${result.load_time_ms}ms`);
55
- if (result.error) {
56
- console.log(` Error: ${result.error}`);
57
- }
58
- if (result.success) {
59
- totalTopics += result.content_counts.topics || 0;
60
- successfulLayers++;
61
- }
62
- console.log();
63
- }
64
- console.log('📊 Summary:');
65
- console.log(` Successful layers: ${successfulLayers}/${initResults.size}`);
66
- console.log(` Total topics loaded: ${totalTopics}`);
67
- // 5. Test topic resolution
68
- if (successfulLayers > 0) {
69
- console.log('\n🔍 Testing topic resolution...');
70
- // Test getting a topic
71
- const testTopic = await layerService.resolveTopic('performance/sift-optimization');
72
- if (testTopic) {
73
- console.log(`✅ Resolved topic: ${testTopic.topic.id}`);
74
- console.log(` Source layer: ${testTopic.sourceLayer}`);
75
- console.log(` Is override: ${testTopic.isOverride}`);
76
- }
77
- else {
78
- console.log('ℹ️ No SIFT optimization topic found (expected for test setup)');
79
- }
80
- // Test search functionality
81
- const searchResults = await layerService.searchTopics({
82
- domain: 'performance',
83
- limit: 3
84
- });
85
- console.log(`\n🔎 Search results for performance domain (${searchResults.length}):`);
86
- searchResults.slice(0, 3).forEach((result, index) => {
87
- console.log(` ${index + 1}. ${result.id}: ${result.title}`);
88
- console.log(` Relevance: ${result.relevance_score?.toFixed(2) || 'N/A'}`);
89
- });
90
- }
91
- console.log('\n✅ Enhanced layer service test completed successfully!');
92
- }
93
- catch (error) {
94
- console.error('❌ Enhanced layer service test failed:', error instanceof Error ? error.message : String(error));
95
- throw error;
96
- }
97
- }
98
- // Export for use in other tests
99
- export { testEnhancedLayerService };
100
- // Run if called directly
101
- if (process.argv.includes('--test-enhanced-layers')) {
102
- testEnhancedLayerService().catch(console.error);
103
- }
104
- //# sourceMappingURL=test-enhanced-layer-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-enhanced-layer-service.js","sourceRoot":"","sources":["../../src/config/test-enhanced-layer-service.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Test the Git Knowledge Layer with configuration system
3
- * Run with: npm run dev -- --test-git
4
- */
5
- declare function testGitLayer(): Promise<import("../types/layer-types.js").LayerLoadResult>;
6
- export { testGitLayer };
7
- //# sourceMappingURL=test-git-layer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-git-layer.d.ts","sourceRoot":"","sources":["../../src/config/test-git-layer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,iBAAe,YAAY,+DAoE1B;AAGD,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1,68 +0,0 @@
1
- /**
2
- * Test the Git Knowledge Layer with configuration system
3
- * Run with: npm run dev -- --test-git
4
- */
5
- import { GitKnowledgeLayer } from '../layers/git-layer.js';
6
- import { LayerSourceType } from '../types/index.js';
7
- async function testGitLayer() {
8
- console.log('🔧 Testing Git Knowledge Layer...');
9
- // Create a test git layer configuration
10
- const gitConfig = {
11
- name: 'test-git',
12
- priority: 50,
13
- source: {
14
- type: LayerSourceType.GIT,
15
- url: 'https://github.com/microsoft/AL-Go',
16
- branch: 'main',
17
- subpath: 'Templates'
18
- },
19
- enabled: true
20
- };
21
- console.log(`📦 Testing Git layer: ${gitConfig.source.url}`);
22
- try {
23
- // Create git layer
24
- const gitLayer = new GitKnowledgeLayer('test-git', 50, gitConfig.source, undefined, // No auth for public repo
25
- '.bckb-cache-test');
26
- console.log('🔄 Initializing Git layer...');
27
- // Initialize (this will clone/pull the repo)
28
- const result = await gitLayer.initialize();
29
- console.log('📋 Git Layer Result:');
30
- console.log('─'.repeat(50));
31
- console.log(` Success: ${result.success}`);
32
- console.log(` Topics loaded: ${result.topicsLoaded}`);
33
- console.log(` Indexes loaded: ${result.indexesLoaded}`);
34
- console.log(` Load time: ${result.loadTimeMs}ms`);
35
- if (result.error) {
36
- console.log(` Error: ${result.error}`);
37
- }
38
- // Show source info
39
- const sourceInfo = gitLayer.getSourceInfo();
40
- console.log('\n📁 Source Information:');
41
- console.log(` Type: ${sourceInfo.type}`);
42
- console.log(` URL: ${sourceInfo.url}`);
43
- console.log(` Branch: ${sourceInfo.branch}`);
44
- console.log(` Local path: ${sourceInfo.localPath}`);
45
- console.log(` Has auth: ${sourceInfo.hasAuth}`);
46
- // Show some topics if loaded
47
- console.log(`\n📚 Topics loaded: ${result.topicsLoaded}`);
48
- if (result.topicsLoaded > 0) {
49
- console.log(' (Topics are loaded but getAllTopics method needs to be added to git layer)');
50
- }
51
- else {
52
- console.log(' (No markdown topics found - AL-Go repo contains mostly templates)');
53
- }
54
- console.log('\n✅ Git layer test completed!');
55
- return result;
56
- }
57
- catch (error) {
58
- console.error('❌ Git layer test failed:', error instanceof Error ? error.message : String(error));
59
- throw error;
60
- }
61
- }
62
- // Export for use in other tests
63
- export { testGitLayer };
64
- // Run if called directly
65
- if (process.argv.includes('--test-git')) {
66
- testGitLayer().catch(console.error);
67
- }
68
- //# sourceMappingURL=test-git-layer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-git-layer.js","sourceRoot":"","sources":["../../src/config/test-git-layer.ts"],"names":[],"mappings":"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"}
@@ -1,91 +0,0 @@
1
- /**
2
- * Hot Reload System for Development Experience
3
- *
4
- * Watches for configuration changes, layer updates, and code modifications
5
- * to provide instant feedback during development without server restart.
6
- */
7
- import { EventEmitter } from 'events';
8
- import { MultiContentLayerService } from '../services/multi-content-layer-service.js';
9
- import { ConfigurationLoader } from '../config/config-loader.js';
10
- export interface HotReloadEvent {
11
- type: 'config_changed' | 'layer_updated' | 'topic_changed' | 'index_rebuilt';
12
- source: string;
13
- timestamp: number;
14
- details?: any;
15
- }
16
- export interface DevServerStats {
17
- uptime: number;
18
- reload_count: number;
19
- last_reload: number;
20
- watched_files: number;
21
- active_watchers: number;
22
- performance_impact: 'low' | 'medium' | 'high';
23
- }
24
- export declare class HotReloadSystem extends EventEmitter {
25
- private readonly enabled;
26
- private readonly debounceMs;
27
- private readonly verboseLogging;
28
- private watchers;
29
- private layerService?;
30
- private configLoader?;
31
- private currentConfig?;
32
- private reloadCount;
33
- private startTime;
34
- private lastReload;
35
- private watchedPaths;
36
- private debounceTimers;
37
- constructor(enabled?: boolean, debounceMs?: number, verboseLogging?: boolean);
38
- /**
39
- * Initialize hot reload with layer service and config loader
40
- */
41
- initialize(layerService: MultiContentLayerService, configLoader: ConfigurationLoader): Promise<void>;
42
- /**
43
- * Add custom file path to watch
44
- */
45
- watchPath(path: string, eventType?: HotReloadEvent['type']): void;
46
- /**
47
- * Trigger manual reload for testing or forced updates
48
- */
49
- triggerReload(reason?: string): Promise<void>;
50
- /**
51
- * Get development server statistics
52
- */
53
- getStats(): DevServerStats;
54
- /**
55
- * Shutdown hot reload system and cleanup watchers
56
- */
57
- shutdown(): Promise<void>;
58
- /**
59
- * Setup configuration file watcher
60
- */
61
- private setupConfigurationWatcher;
62
- /**
63
- * Setup layer-specific watchers based on current configuration
64
- */
65
- private setupLayerWatchers;
66
- /**
67
- * Handle configuration file changes
68
- */
69
- private handleConfigurationFileChange;
70
- /**
71
- * Handle layer file changes
72
- */
73
- private handleLayerChange;
74
- /**
75
- * Handle any file change with generic handling
76
- */
77
- private handleFileChange;
78
- /**
79
- * Handle configuration changes and trigger appropriate reloads
80
- */
81
- private handleConfigurationChange;
82
- /**
83
- * Debounce actions to prevent excessive reloading
84
- */
85
- private debounceAction;
86
- /**
87
- * Emit reload event with consistent structure
88
- */
89
- private emitReloadEvent;
90
- }
91
- //# sourceMappingURL=hot-reload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hot-reload.d.ts","sourceRoot":"","sources":["../../src/dev/hot-reload.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGjE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,gBAAgB,GAAG,eAAe,GAAG,eAAe,GAAG,eAAe,CAAC;IAC7E,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC/C;AAED,qBAAa,eAAgB,SAAQ,YAAY;IAY7C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAbjC,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,YAAY,CAAC,CAA2B;IAChD,OAAO,CAAC,YAAY,CAAC,CAAsB;IAC3C,OAAO,CAAC,aAAa,CAAC,CAA2B;IACjD,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,cAAc,CAAqC;gBAGxC,OAAO,GAAE,OAAe,EACxB,UAAU,GAAE,MAAa,EACzB,cAAc,GAAE,OAAc;IASjD;;OAEG;IACG,UAAU,CAAC,YAAY,EAAE,wBAAwB,EAAE,YAAY,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB1G;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,cAAc,CAAC,MAAM,CAAmB,GAAG,IAAI;IAiBlF;;OAEG;IACG,aAAa,CAAC,MAAM,GAAE,MAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B7D;;OAEG;IACH,QAAQ,IAAI,cAAc;IAqB1B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB/B;;OAEG;YACW,yBAAyB;IAkCvC;;OAEG;YACW,kBAAkB;IAwDhC;;OAEG;YACW,6BAA6B;IAwB3C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;OAEG;YACW,yBAAyB;IAwCvC;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,eAAe;CAiBxB"}
@@ -1,358 +0,0 @@
1
- /**
2
- * Hot Reload System for Development Experience
3
- *
4
- * Watches for configuration changes, layer updates, and code modifications
5
- * to provide instant feedback during development without server restart.
6
- */
7
- import { watch } from 'chokidar';
8
- import { stat } from 'fs/promises';
9
- import { EventEmitter } from 'events';
10
- export class HotReloadSystem extends EventEmitter {
11
- enabled;
12
- debounceMs;
13
- verboseLogging;
14
- watchers = [];
15
- layerService;
16
- configLoader;
17
- currentConfig;
18
- reloadCount = 0;
19
- startTime = Date.now();
20
- lastReload = 0;
21
- watchedPaths = new Set();
22
- debounceTimers = new Map();
23
- constructor(enabled = false, debounceMs = 1000, verboseLogging = true) {
24
- super();
25
- this.enabled = enabled;
26
- this.debounceMs = debounceMs;
27
- this.verboseLogging = verboseLogging;
28
- if (this.enabled) {
29
- console.log('🔥 Hot reload system initialized');
30
- }
31
- }
32
- /**
33
- * Initialize hot reload with layer service and config loader
34
- */
35
- async initialize(layerService, configLoader) {
36
- if (!this.enabled) {
37
- console.log('⏭️ Hot reload disabled, skipping initialization');
38
- return;
39
- }
40
- this.layerService = layerService;
41
- this.configLoader = configLoader;
42
- // Load initial configuration
43
- const configResult = await configLoader.loadConfiguration();
44
- this.currentConfig = configResult.config;
45
- // Setup watchers
46
- await this.setupConfigurationWatcher();
47
- await this.setupLayerWatchers();
48
- console.log(`🔥 Hot reload system active with ${this.watchers.length} watchers`);
49
- // Emit initial ready event
50
- this.emitReloadEvent('config_changed', 'system', { message: 'Hot reload system ready' });
51
- }
52
- /**
53
- * Add custom file path to watch
54
- */
55
- watchPath(path, eventType = 'topic_changed') {
56
- if (!this.enabled || this.watchedPaths.has(path))
57
- return;
58
- const watcher = watch(path, { ignoreInitial: true })
59
- .on('change', (changedPath) => this.handleFileChange(changedPath, eventType))
60
- .on('add', (addedPath) => this.handleFileChange(addedPath, eventType))
61
- .on('unlink', (removedPath) => this.handleFileChange(removedPath, eventType))
62
- .on('error', (error) => console.error(`🔥 Watcher error for ${path}:`, error));
63
- this.watchers.push(watcher);
64
- this.watchedPaths.add(path);
65
- if (this.verboseLogging) {
66
- console.log(`👀 Now watching: ${path}`);
67
- }
68
- }
69
- /**
70
- * Trigger manual reload for testing or forced updates
71
- */
72
- async triggerReload(reason = 'manual') {
73
- if (!this.layerService || !this.configLoader) {
74
- console.warn('🔥 Cannot trigger reload: services not initialized');
75
- return;
76
- }
77
- console.log(`🔄 Triggering manual reload: ${reason}`);
78
- try {
79
- // Reload configuration
80
- const configResult = await this.configLoader.loadConfiguration();
81
- // Check if configuration changed
82
- if (JSON.stringify(configResult.config) !== JSON.stringify(this.currentConfig)) {
83
- await this.handleConfigurationChange(configResult.config);
84
- }
85
- else {
86
- // Force layer refresh
87
- await this.layerService.refreshCache();
88
- this.emitReloadEvent('layer_updated', 'manual', { reason });
89
- }
90
- }
91
- catch (error) {
92
- console.error('🔥 Manual reload failed:', error);
93
- this.emit('error', error);
94
- }
95
- }
96
- /**
97
- * Get development server statistics
98
- */
99
- getStats() {
100
- const uptime = Date.now() - this.startTime;
101
- // Simple performance impact calculation
102
- let performanceImpact = 'low';
103
- if (this.watchers.length > 50) {
104
- performanceImpact = 'high';
105
- }
106
- else if (this.watchers.length > 20) {
107
- performanceImpact = 'medium';
108
- }
109
- return {
110
- uptime,
111
- reload_count: this.reloadCount,
112
- last_reload: this.lastReload,
113
- watched_files: this.watchedPaths.size,
114
- active_watchers: this.watchers.length,
115
- performance_impact: performanceImpact
116
- };
117
- }
118
- /**
119
- * Shutdown hot reload system and cleanup watchers
120
- */
121
- async shutdown() {
122
- console.log('🔥 Shutting down hot reload system...');
123
- // Close all watchers
124
- await Promise.all(this.watchers.map(watcher => watcher.close()));
125
- this.watchers = [];
126
- this.watchedPaths.clear();
127
- // Clear any pending debounce timers
128
- for (const timer of this.debounceTimers.values()) {
129
- clearTimeout(timer);
130
- }
131
- this.debounceTimers.clear();
132
- console.log('✅ Hot reload system shutdown complete');
133
- }
134
- // Private implementation methods
135
- /**
136
- * Setup configuration file watcher
137
- */
138
- async setupConfigurationWatcher() {
139
- // Watch common configuration file locations
140
- const configPaths = [
141
- './bckb-config.json',
142
- './bckb-config.yaml',
143
- './.bckb/config.json',
144
- './package.json' // For environment changes
145
- ];
146
- for (const configPath of configPaths) {
147
- try {
148
- // Check if file exists before watching
149
- await stat(configPath);
150
- const watcher = watch(configPath, { ignoreInitial: true })
151
- .on('change', () => this.handleConfigurationFileChange(configPath))
152
- .on('error', (error) => {
153
- if (this.verboseLogging) {
154
- console.log(`📝 Config file watcher error for ${configPath}:`, error.message);
155
- }
156
- });
157
- this.watchers.push(watcher);
158
- this.watchedPaths.add(configPath);
159
- }
160
- catch (error) {
161
- // File doesn't exist, skip watching
162
- if (this.verboseLogging) {
163
- console.log(`📝 Config file not found, skipping: ${configPath}`);
164
- }
165
- }
166
- }
167
- }
168
- /**
169
- * Setup layer-specific watchers based on current configuration
170
- */
171
- async setupLayerWatchers() {
172
- if (!this.currentConfig)
173
- return;
174
- for (const layerConfig of this.currentConfig.layers.filter(l => l.enabled)) {
175
- try {
176
- let watchPath;
177
- switch (layerConfig.source.type) {
178
- case 'local':
179
- if ('path' in layerConfig.source && layerConfig.source.path) {
180
- watchPath = layerConfig.source.path;
181
- }
182
- else {
183
- continue;
184
- }
185
- break;
186
- case 'embedded':
187
- watchPath = 'embedded-knowledge'; // Default embedded path
188
- break;
189
- case 'git':
190
- // Watch the local git cache directory
191
- watchPath = '.bckb-cache/git-repos';
192
- break;
193
- default:
194
- continue; // Skip unsupported source types for watching
195
- }
196
- const watcher = watch(watchPath, {
197
- ignoreInitial: true,
198
- persistent: true,
199
- depth: 3 // Reasonable depth to avoid performance issues
200
- })
201
- .on('change', (path) => this.handleLayerChange(layerConfig.name, path, 'changed'))
202
- .on('add', (path) => this.handleLayerChange(layerConfig.name, path, 'added'))
203
- .on('unlink', (path) => this.handleLayerChange(layerConfig.name, path, 'removed'))
204
- .on('error', (error) => {
205
- if (this.verboseLogging) {
206
- console.warn(`🔥 Layer watcher error for ${layerConfig.name}:`, error.message);
207
- }
208
- });
209
- this.watchers.push(watcher);
210
- this.watchedPaths.add(watchPath);
211
- if (this.verboseLogging) {
212
- console.log(`👀 Watching layer ${layerConfig.name}: ${watchPath}`);
213
- }
214
- }
215
- catch (error) {
216
- console.warn(`🔥 Failed to setup watcher for layer ${layerConfig.name}:`, error);
217
- }
218
- }
219
- }
220
- /**
221
- * Handle configuration file changes
222
- */
223
- async handleConfigurationFileChange(configPath) {
224
- if (!this.configLoader)
225
- return;
226
- this.debounceAction(`config:${configPath}`, async () => {
227
- try {
228
- if (this.verboseLogging) {
229
- console.log(`📝 Configuration file changed: ${configPath}`);
230
- }
231
- // Reload configuration
232
- const configResult = await this.configLoader.loadConfiguration();
233
- // Check if configuration actually changed
234
- if (JSON.stringify(configResult.config) !== JSON.stringify(this.currentConfig)) {
235
- await this.handleConfigurationChange(configResult.config);
236
- }
237
- }
238
- catch (error) {
239
- console.error(`🔥 Failed to reload configuration from ${configPath}:`, error);
240
- this.emit('error', error);
241
- }
242
- });
243
- }
244
- /**
245
- * Handle layer file changes
246
- */
247
- handleLayerChange(layerName, filePath, changeType) {
248
- // Only watch markdown files and relevant files
249
- if (!filePath.match(/\.(md|yaml|yml|json)$/i)) {
250
- return;
251
- }
252
- this.debounceAction(`layer:${layerName}:${filePath}`, async () => {
253
- try {
254
- if (this.verboseLogging) {
255
- console.log(`📄 Layer file ${changeType}: ${filePath} in ${layerName}`);
256
- }
257
- if (this.layerService) {
258
- // Invalidate cache for the specific layer
259
- const cacheStats = this.layerService.getCacheStats();
260
- if ('advanced_cache_enabled' in cacheStats && cacheStats.advanced_cache_enabled) {
261
- // Could invalidate specific layer cache here
262
- }
263
- // Refresh the entire layer service (could be optimized to refresh only affected layer)
264
- await this.layerService.refreshCache();
265
- this.emitReloadEvent('layer_updated', filePath, {
266
- layer_name: layerName,
267
- change_type: changeType,
268
- file_path: filePath
269
- });
270
- }
271
- }
272
- catch (error) {
273
- console.error(`🔥 Failed to handle layer change in ${layerName}:`, error);
274
- this.emit('error', error);
275
- }
276
- });
277
- }
278
- /**
279
- * Handle any file change with generic handling
280
- */
281
- handleFileChange(filePath, eventType) {
282
- this.debounceAction(`file:${filePath}`, async () => {
283
- if (this.verboseLogging) {
284
- console.log(`📁 File changed: ${filePath}`);
285
- }
286
- this.emitReloadEvent(eventType, filePath, { file_path: filePath });
287
- });
288
- }
289
- /**
290
- * Handle configuration changes and trigger appropriate reloads
291
- */
292
- async handleConfigurationChange(newConfig) {
293
- try {
294
- console.log('🔧 Configuration changed, reinitializing services...');
295
- const oldConfig = this.currentConfig;
296
- this.currentConfig = newConfig;
297
- // Reinitialize layer service with new configuration
298
- if (this.layerService) {
299
- await this.layerService.initializeFromConfiguration(newConfig);
300
- }
301
- // Update watchers if layer configuration changed
302
- const layersChanged = !oldConfig ||
303
- JSON.stringify(oldConfig.layers) !== JSON.stringify(newConfig.layers);
304
- if (layersChanged) {
305
- // Close existing layer watchers
306
- await Promise.all(this.watchers.map(w => w.close()));
307
- this.watchers = [];
308
- this.watchedPaths.clear();
309
- // Setup new watchers
310
- await this.setupConfigurationWatcher();
311
- await this.setupLayerWatchers();
312
- }
313
- this.emitReloadEvent('config_changed', 'configuration', {
314
- layers_changed: layersChanged,
315
- new_layer_count: newConfig.layers.filter(l => l.enabled).length
316
- });
317
- console.log('✅ Configuration reload complete');
318
- }
319
- catch (error) {
320
- console.error('🔥 Configuration reload failed:', error);
321
- this.emit('error', error);
322
- }
323
- }
324
- /**
325
- * Debounce actions to prevent excessive reloading
326
- */
327
- debounceAction(key, action) {
328
- // Clear existing timer
329
- const existingTimer = this.debounceTimers.get(key);
330
- if (existingTimer) {
331
- clearTimeout(existingTimer);
332
- }
333
- // Set new timer
334
- const timer = setTimeout(async () => {
335
- this.debounceTimers.delete(key);
336
- await action();
337
- }, this.debounceMs);
338
- this.debounceTimers.set(key, timer);
339
- }
340
- /**
341
- * Emit reload event with consistent structure
342
- */
343
- emitReloadEvent(type, source, details) {
344
- this.reloadCount++;
345
- this.lastReload = Date.now();
346
- const event = {
347
- type,
348
- source,
349
- timestamp: this.lastReload,
350
- details
351
- };
352
- this.emit('reload', event);
353
- if (this.verboseLogging) {
354
- console.log(`🔥 Hot reload event: ${type} from ${source}`);
355
- }
356
- }
357
- }
358
- //# sourceMappingURL=hot-reload.js.map