bc-code-intelligence-mcp 1.5.9 → 1.6.1

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 (565) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +165 -165
  3. package/dist/config/config-loader.js +6 -6
  4. package/dist/config/config-loader.js.map +1 -1
  5. package/dist/index.d.ts +9 -8
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +93 -211
  8. package/dist/index.js.map +1 -1
  9. package/dist/layers/base-layer.d.ts +6 -6
  10. package/dist/layers/base-layer.d.ts.map +1 -1
  11. package/dist/layers/base-layer.js +15 -15
  12. package/dist/layers/base-layer.js.map +1 -1
  13. package/dist/layers/embedded-layer.d.ts +2 -2
  14. package/dist/layers/embedded-layer.d.ts.map +1 -1
  15. package/dist/layers/embedded-layer.js +59 -43
  16. package/dist/layers/embedded-layer.js.map +1 -1
  17. package/dist/layers/git-layer.d.ts +4 -2
  18. package/dist/layers/git-layer.d.ts.map +1 -1
  19. package/dist/layers/git-layer.js +70 -23
  20. package/dist/layers/git-layer.js.map +1 -1
  21. package/dist/layers/project-layer.d.ts +2 -2
  22. package/dist/layers/project-layer.d.ts.map +1 -1
  23. package/dist/layers/project-layer.js +58 -44
  24. package/dist/layers/project-layer.js.map +1 -1
  25. package/dist/services/code-analysis-service.d.ts +100 -2
  26. package/dist/services/code-analysis-service.d.ts.map +1 -1
  27. package/dist/services/code-analysis-service.js +274 -8
  28. package/dist/services/code-analysis-service.js.map +1 -1
  29. package/dist/services/knowledge-service.d.ts.map +1 -1
  30. package/dist/services/knowledge-service.js.map +1 -1
  31. package/dist/services/methodology-service.d.ts +34 -2
  32. package/dist/services/methodology-service.d.ts.map +1 -1
  33. package/dist/services/methodology-service.js +284 -29
  34. package/dist/services/methodology-service.js.map +1 -1
  35. package/dist/services/multi-content-layer-service.d.ts +5 -0
  36. package/dist/services/multi-content-layer-service.d.ts.map +1 -1
  37. package/dist/services/multi-content-layer-service.js +57 -9
  38. package/dist/services/multi-content-layer-service.js.map +1 -1
  39. package/dist/services/relevance-index-service.d.ts +95 -0
  40. package/dist/services/relevance-index-service.d.ts.map +1 -0
  41. package/dist/services/relevance-index-service.js +321 -0
  42. package/dist/services/relevance-index-service.js.map +1 -0
  43. package/dist/services/specialist-loader.d.ts +1 -0
  44. package/dist/services/specialist-loader.d.ts.map +1 -1
  45. package/dist/services/specialist-loader.js +1 -0
  46. package/dist/services/specialist-loader.js.map +1 -1
  47. package/dist/services/workflow-service.d.ts +12 -0
  48. package/dist/services/workflow-service.d.ts.map +1 -1
  49. package/dist/services/workflow-service.js +30 -0
  50. package/dist/services/workflow-service.js.map +1 -1
  51. package/dist/services/{enhanced-prompt-service.d.ts → workflow-specialist-router.d.ts} +41 -4
  52. package/dist/services/workflow-specialist-router.d.ts.map +1 -0
  53. package/dist/services/{enhanced-prompt-service.js → workflow-specialist-router.js} +150 -24
  54. package/dist/services/workflow-specialist-router.js.map +1 -0
  55. package/dist/services/workflow-v2/index.d.ts +6 -0
  56. package/dist/services/workflow-v2/index.d.ts.map +1 -0
  57. package/dist/services/workflow-v2/index.js +6 -0
  58. package/dist/services/workflow-v2/index.js.map +1 -0
  59. package/dist/services/workflow-v2/workflow-definitions.d.ts +53 -0
  60. package/dist/services/workflow-v2/workflow-definitions.d.ts.map +1 -0
  61. package/dist/services/workflow-v2/workflow-definitions.js +722 -0
  62. package/dist/services/workflow-v2/workflow-definitions.js.map +1 -0
  63. package/dist/services/workflow-v2/workflow-session-manager.d.ts +140 -0
  64. package/dist/services/workflow-v2/workflow-session-manager.d.ts.map +1 -0
  65. package/dist/services/workflow-v2/workflow-session-manager.js +820 -0
  66. package/dist/services/workflow-v2/workflow-session-manager.js.map +1 -0
  67. package/dist/tools/{workspace-tools.d.ts → _shared/workspace-constants.d.ts} +4 -51
  68. package/dist/tools/_shared/workspace-constants.d.ts.map +1 -0
  69. package/dist/tools/_shared/workspace-constants.js +53 -0
  70. package/dist/tools/_shared/workspace-constants.js.map +1 -0
  71. package/dist/tools/analyze_al_code/handler.d.ts +12 -0
  72. package/dist/tools/analyze_al_code/handler.d.ts.map +1 -0
  73. package/dist/tools/analyze_al_code/handler.js +312 -0
  74. package/dist/tools/analyze_al_code/handler.js.map +1 -0
  75. package/dist/tools/analyze_al_code/schema.d.ts +8 -0
  76. package/dist/tools/analyze_al_code/schema.d.ts.map +1 -0
  77. package/dist/tools/analyze_al_code/schema.js +54 -0
  78. package/dist/tools/analyze_al_code/schema.js.map +1 -0
  79. package/dist/tools/ask_bc_expert/handler.d.ts +21 -0
  80. package/dist/tools/ask_bc_expert/handler.d.ts.map +1 -0
  81. package/dist/tools/ask_bc_expert/handler.js +118 -0
  82. package/dist/tools/ask_bc_expert/handler.js.map +1 -0
  83. package/dist/tools/ask_bc_expert/schema.d.ts +8 -0
  84. package/dist/tools/ask_bc_expert/schema.d.ts.map +1 -0
  85. package/dist/tools/ask_bc_expert/schema.js +33 -0
  86. package/dist/tools/ask_bc_expert/schema.js.map +1 -0
  87. package/dist/tools/create_layer_content/handler.d.ts +17 -0
  88. package/dist/tools/create_layer_content/handler.d.ts.map +1 -0
  89. package/dist/tools/create_layer_content/handler.js +248 -0
  90. package/dist/tools/create_layer_content/handler.js.map +1 -0
  91. package/dist/tools/create_layer_content/schema.d.ts +9 -0
  92. package/dist/tools/create_layer_content/schema.d.ts.map +1 -0
  93. package/dist/tools/create_layer_content/schema.js +42 -0
  94. package/dist/tools/create_layer_content/schema.js.map +1 -0
  95. package/dist/tools/debug/diagnose_git_layer/handler.d.ts +6 -0
  96. package/dist/tools/debug/diagnose_git_layer/handler.d.ts.map +1 -0
  97. package/dist/tools/debug/diagnose_git_layer/handler.js +286 -0
  98. package/dist/tools/debug/diagnose_git_layer/handler.js.map +1 -0
  99. package/dist/tools/debug/diagnose_git_layer/schema.d.ts +6 -0
  100. package/dist/tools/debug/diagnose_git_layer/schema.d.ts.map +1 -0
  101. package/dist/tools/debug/diagnose_git_layer/schema.js +35 -0
  102. package/dist/tools/debug/diagnose_git_layer/schema.js.map +1 -0
  103. package/dist/tools/debug/diagnose_local_layer/handler.d.ts +6 -0
  104. package/dist/tools/debug/diagnose_local_layer/handler.d.ts.map +1 -0
  105. package/dist/tools/debug/diagnose_local_layer/handler.js +285 -0
  106. package/dist/tools/debug/diagnose_local_layer/handler.js.map +1 -0
  107. package/dist/tools/debug/diagnose_local_layer/schema.d.ts +6 -0
  108. package/dist/tools/debug/diagnose_local_layer/schema.d.ts.map +1 -0
  109. package/dist/tools/debug/diagnose_local_layer/schema.js +16 -0
  110. package/dist/tools/debug/diagnose_local_layer/schema.js.map +1 -0
  111. package/dist/tools/debug/get_layer_diagnostics/handler.d.ts +7 -0
  112. package/dist/tools/debug/get_layer_diagnostics/handler.d.ts.map +1 -0
  113. package/dist/tools/debug/get_layer_diagnostics/handler.js +46 -0
  114. package/dist/tools/debug/get_layer_diagnostics/handler.js.map +1 -0
  115. package/dist/tools/debug/get_layer_diagnostics/schema.d.ts +6 -0
  116. package/dist/tools/debug/get_layer_diagnostics/schema.d.ts.map +1 -0
  117. package/dist/tools/debug/get_layer_diagnostics/schema.js +20 -0
  118. package/dist/tools/debug/get_layer_diagnostics/schema.js.map +1 -0
  119. package/dist/tools/debug/reload_layers/handler.d.ts +8 -0
  120. package/dist/tools/debug/reload_layers/handler.d.ts.map +1 -0
  121. package/dist/tools/debug/reload_layers/handler.js +83 -0
  122. package/dist/tools/debug/reload_layers/handler.js.map +1 -0
  123. package/dist/tools/debug/reload_layers/schema.d.ts +6 -0
  124. package/dist/tools/debug/reload_layers/schema.d.ts.map +1 -0
  125. package/dist/tools/debug/reload_layers/schema.js +20 -0
  126. package/dist/tools/debug/reload_layers/schema.js.map +1 -0
  127. package/dist/tools/debug/test_azure_devops_pat/handler.d.ts +6 -0
  128. package/dist/tools/debug/test_azure_devops_pat/handler.d.ts.map +1 -0
  129. package/dist/tools/debug/test_azure_devops_pat/handler.js +16 -0
  130. package/dist/tools/debug/test_azure_devops_pat/handler.js.map +1 -0
  131. package/dist/tools/debug/test_azure_devops_pat/schema.d.ts +6 -0
  132. package/dist/tools/debug/test_azure_devops_pat/schema.d.ts.map +1 -0
  133. package/dist/tools/debug/test_azure_devops_pat/schema.js +27 -0
  134. package/dist/tools/debug/test_azure_devops_pat/schema.js.map +1 -0
  135. package/dist/tools/debug/validate_layer_config/handler.d.ts +6 -0
  136. package/dist/tools/debug/validate_layer_config/handler.d.ts.map +1 -0
  137. package/dist/tools/debug/validate_layer_config/handler.js +17 -0
  138. package/dist/tools/debug/validate_layer_config/handler.js.map +1 -0
  139. package/dist/tools/debug/validate_layer_config/schema.d.ts +6 -0
  140. package/dist/tools/debug/validate_layer_config/schema.d.ts.map +1 -0
  141. package/dist/tools/debug/validate_layer_config/schema.js +21 -0
  142. package/dist/tools/debug/validate_layer_config/schema.js.map +1 -0
  143. package/dist/tools/find_bc_knowledge/handler.d.ts +21 -0
  144. package/dist/tools/find_bc_knowledge/handler.d.ts.map +1 -0
  145. package/dist/tools/find_bc_knowledge/handler.js +71 -0
  146. package/dist/tools/find_bc_knowledge/handler.js.map +1 -0
  147. package/dist/tools/find_bc_knowledge/schema.d.ts +8 -0
  148. package/dist/tools/find_bc_knowledge/schema.d.ts.map +1 -0
  149. package/dist/tools/find_bc_knowledge/schema.js +35 -0
  150. package/dist/tools/find_bc_knowledge/schema.js.map +1 -0
  151. package/dist/tools/get_bc_topic/handler.d.ts +12 -0
  152. package/dist/tools/get_bc_topic/handler.d.ts.map +1 -0
  153. package/dist/tools/get_bc_topic/handler.js +35 -0
  154. package/dist/tools/get_bc_topic/handler.js.map +1 -0
  155. package/dist/tools/get_bc_topic/schema.d.ts +8 -0
  156. package/dist/tools/get_bc_topic/schema.d.ts.map +1 -0
  157. package/dist/tools/get_bc_topic/schema.js +29 -0
  158. package/dist/tools/get_bc_topic/schema.js.map +1 -0
  159. package/dist/tools/get_codelens_mappings/handler.d.ts +8 -0
  160. package/dist/tools/get_codelens_mappings/handler.d.ts.map +1 -0
  161. package/dist/tools/get_codelens_mappings/handler.js +79 -0
  162. package/dist/tools/get_codelens_mappings/handler.js.map +1 -0
  163. package/dist/tools/get_codelens_mappings/schema.d.ts +9 -0
  164. package/dist/tools/get_codelens_mappings/schema.d.ts.map +1 -0
  165. package/dist/tools/get_codelens_mappings/schema.js +16 -0
  166. package/dist/tools/get_codelens_mappings/schema.js.map +1 -0
  167. package/dist/tools/get_workspace_info/handler.d.ts +16 -0
  168. package/dist/tools/get_workspace_info/handler.d.ts.map +1 -0
  169. package/dist/tools/get_workspace_info/handler.js +36 -0
  170. package/dist/tools/get_workspace_info/handler.js.map +1 -0
  171. package/dist/tools/get_workspace_info/schema.d.ts +8 -0
  172. package/dist/tools/get_workspace_info/schema.d.ts.map +1 -0
  173. package/dist/tools/get_workspace_info/schema.js +15 -0
  174. package/dist/tools/get_workspace_info/schema.js.map +1 -0
  175. package/dist/tools/handlers.d.ts +48 -0
  176. package/dist/tools/handlers.d.ts.map +1 -0
  177. package/dist/tools/handlers.js +81 -0
  178. package/dist/tools/handlers.js.map +1 -0
  179. package/dist/tools/index.d.ts +132 -38
  180. package/dist/tools/index.d.ts.map +1 -1
  181. package/dist/tools/index.js +184 -52
  182. package/dist/tools/index.js.map +1 -1
  183. package/dist/tools/list_prompts/handler.d.ts +11 -0
  184. package/dist/tools/list_prompts/handler.d.ts.map +1 -0
  185. package/dist/tools/list_prompts/handler.js +102 -0
  186. package/dist/tools/list_prompts/handler.js.map +1 -0
  187. package/dist/tools/list_prompts/schema.d.ts +9 -0
  188. package/dist/tools/list_prompts/schema.d.ts.map +1 -0
  189. package/dist/tools/list_prompts/schema.js +28 -0
  190. package/dist/tools/list_prompts/schema.js.map +1 -0
  191. package/dist/tools/list_specialists/handler.d.ts +12 -0
  192. package/dist/tools/list_specialists/handler.d.ts.map +1 -0
  193. package/dist/tools/list_specialists/handler.js +68 -0
  194. package/dist/tools/list_specialists/handler.js.map +1 -0
  195. package/dist/tools/list_specialists/schema.d.ts +8 -0
  196. package/dist/tools/list_specialists/schema.d.ts.map +1 -0
  197. package/dist/tools/list_specialists/schema.js +24 -0
  198. package/dist/tools/list_specialists/schema.js.map +1 -0
  199. package/dist/tools/scaffold_layer_repo/handler.d.ts +15 -0
  200. package/dist/tools/scaffold_layer_repo/handler.d.ts.map +1 -0
  201. package/dist/tools/scaffold_layer_repo/handler.js +410 -0
  202. package/dist/tools/scaffold_layer_repo/handler.js.map +1 -0
  203. package/dist/tools/scaffold_layer_repo/schema.d.ts +9 -0
  204. package/dist/tools/scaffold_layer_repo/schema.d.ts.map +1 -0
  205. package/dist/tools/scaffold_layer_repo/schema.js +35 -0
  206. package/dist/tools/scaffold_layer_repo/schema.js.map +1 -0
  207. package/dist/tools/set_workspace_info/handler.d.ts +22 -0
  208. package/dist/tools/set_workspace_info/handler.d.ts.map +1 -0
  209. package/dist/tools/set_workspace_info/handler.js +60 -0
  210. package/dist/tools/set_workspace_info/handler.js.map +1 -0
  211. package/dist/tools/set_workspace_info/schema.d.ts +8 -0
  212. package/dist/tools/set_workspace_info/schema.d.ts.map +1 -0
  213. package/dist/tools/set_workspace_info/schema.js +25 -0
  214. package/dist/tools/set_workspace_info/schema.js.map +1 -0
  215. package/dist/tools/validate_layer_repo/handler.d.ts +10 -0
  216. package/dist/tools/validate_layer_repo/handler.d.ts.map +1 -0
  217. package/dist/tools/validate_layer_repo/handler.js +148 -0
  218. package/dist/tools/validate_layer_repo/handler.js.map +1 -0
  219. package/dist/tools/validate_layer_repo/schema.d.ts +9 -0
  220. package/dist/tools/validate_layer_repo/schema.d.ts.map +1 -0
  221. package/dist/tools/validate_layer_repo/schema.js +21 -0
  222. package/dist/tools/validate_layer_repo/schema.js.map +1 -0
  223. package/dist/tools/workflow_batch/handler.d.ts +21 -0
  224. package/dist/tools/workflow_batch/handler.d.ts.map +1 -0
  225. package/dist/tools/workflow_batch/handler.js +304 -0
  226. package/dist/tools/workflow_batch/handler.js.map +1 -0
  227. package/dist/tools/workflow_batch/schema.d.ts +8 -0
  228. package/dist/tools/workflow_batch/schema.d.ts.map +1 -0
  229. package/dist/tools/workflow_batch/schema.js +76 -0
  230. package/dist/tools/workflow_batch/schema.js.map +1 -0
  231. package/dist/tools/workflow_cancel/handler.d.ts +21 -0
  232. package/dist/tools/workflow_cancel/handler.d.ts.map +1 -0
  233. package/dist/tools/workflow_cancel/handler.js +157 -0
  234. package/dist/tools/workflow_cancel/handler.js.map +1 -0
  235. package/dist/tools/workflow_cancel/schema.d.ts +8 -0
  236. package/dist/tools/workflow_cancel/schema.d.ts.map +1 -0
  237. package/dist/tools/workflow_cancel/schema.js +34 -0
  238. package/dist/tools/workflow_cancel/schema.js.map +1 -0
  239. package/dist/tools/workflow_complete/handler.d.ts +21 -0
  240. package/dist/tools/workflow_complete/handler.d.ts.map +1 -0
  241. package/dist/tools/workflow_complete/handler.js +124 -0
  242. package/dist/tools/workflow_complete/handler.js.map +1 -0
  243. package/dist/tools/workflow_complete/schema.d.ts +8 -0
  244. package/dist/tools/workflow_complete/schema.d.ts.map +1 -0
  245. package/dist/tools/workflow_complete/schema.js +45 -0
  246. package/dist/tools/workflow_complete/schema.js.map +1 -0
  247. package/dist/tools/workflow_list/handler.d.ts +19 -0
  248. package/dist/tools/workflow_list/handler.d.ts.map +1 -0
  249. package/dist/tools/workflow_list/handler.js +58 -0
  250. package/dist/tools/workflow_list/handler.js.map +1 -0
  251. package/dist/tools/workflow_list/schema.d.ts +8 -0
  252. package/dist/tools/workflow_list/schema.d.ts.map +1 -0
  253. package/dist/tools/workflow_list/schema.js +26 -0
  254. package/dist/tools/workflow_list/schema.js.map +1 -0
  255. package/dist/tools/workflow_next/handler.d.ts +21 -0
  256. package/dist/tools/workflow_next/handler.d.ts.map +1 -0
  257. package/dist/tools/workflow_next/handler.js +90 -0
  258. package/dist/tools/workflow_next/handler.js.map +1 -0
  259. package/dist/tools/workflow_next/schema.d.ts +8 -0
  260. package/dist/tools/workflow_next/schema.d.ts.map +1 -0
  261. package/dist/tools/workflow_next/schema.js +28 -0
  262. package/dist/tools/workflow_next/schema.js.map +1 -0
  263. package/dist/tools/workflow_progress/handler.d.ts +21 -0
  264. package/dist/tools/workflow_progress/handler.d.ts.map +1 -0
  265. package/dist/tools/workflow_progress/handler.js +147 -0
  266. package/dist/tools/workflow_progress/handler.js.map +1 -0
  267. package/dist/tools/workflow_progress/schema.d.ts +8 -0
  268. package/dist/tools/workflow_progress/schema.d.ts.map +1 -0
  269. package/dist/tools/workflow_progress/schema.js +111 -0
  270. package/dist/tools/workflow_progress/schema.js.map +1 -0
  271. package/dist/tools/workflow_start/handler.d.ts +21 -0
  272. package/dist/tools/workflow_start/handler.d.ts.map +1 -0
  273. package/dist/tools/workflow_start/handler.js +133 -0
  274. package/dist/tools/workflow_start/handler.js.map +1 -0
  275. package/dist/tools/workflow_start/schema.d.ts +8 -0
  276. package/dist/tools/workflow_start/schema.d.ts.map +1 -0
  277. package/dist/tools/workflow_start/schema.js +102 -0
  278. package/dist/tools/workflow_start/schema.js.map +1 -0
  279. package/dist/tools/workflow_status/handler.d.ts +21 -0
  280. package/dist/tools/workflow_status/handler.d.ts.map +1 -0
  281. package/dist/tools/workflow_status/handler.js +107 -0
  282. package/dist/tools/workflow_status/handler.js.map +1 -0
  283. package/dist/tools/workflow_status/schema.d.ts +8 -0
  284. package/dist/tools/workflow_status/schema.d.ts.map +1 -0
  285. package/dist/tools/workflow_status/schema.js +33 -0
  286. package/dist/tools/workflow_status/schema.js.map +1 -0
  287. package/dist/types/bc-knowledge.d.ts +64 -13
  288. package/dist/types/bc-knowledge.d.ts.map +1 -1
  289. package/dist/types/bc-knowledge.js +15 -0
  290. package/dist/types/bc-knowledge.js.map +1 -1
  291. package/dist/types/enhanced-layer-types.d.ts +3 -3
  292. package/dist/types/enhanced-layer-types.d.ts.map +1 -1
  293. package/dist/types/workflow-v2-types.d.ts +577 -0
  294. package/dist/types/workflow-v2-types.d.ts.map +1 -0
  295. package/dist/types/workflow-v2-types.js +10 -0
  296. package/dist/types/workflow-v2-types.js.map +1 -0
  297. package/embedded-knowledge/.github/ISSUE_TEMPLATE/bug-report.md +23 -23
  298. package/embedded-knowledge/.github/ISSUE_TEMPLATE/content-improvement.md +23 -23
  299. package/embedded-knowledge/.github/ISSUE_TEMPLATE/knowledge-request.md +29 -29
  300. package/embedded-knowledge/AGENTS.md +177 -177
  301. package/embedded-knowledge/CONTRIBUTING.md +57 -57
  302. package/embedded-knowledge/LICENSE +20 -20
  303. package/embedded-knowledge/README.md +31 -31
  304. package/embedded-knowledge/codelens-mappings.yaml +111 -0
  305. package/embedded-knowledge/domains/alex-architect/api-delegate-operation-pattern.md +10 -0
  306. package/embedded-knowledge/domains/alex-architect/api-fieldset-registration-pattern.md +10 -0
  307. package/embedded-knowledge/domains/alex-architect/api-interface-design-patterns.md +10 -0
  308. package/embedded-knowledge/domains/alex-architect/api-page-development-patterns.md +10 -0
  309. package/embedded-knowledge/domains/alex-architect/complex-facade-patterns.md +10 -0
  310. package/embedded-knowledge/domains/alex-architect/delegating-to-github-copilot-agents.md +10 -0
  311. package/embedded-knowledge/domains/alex-architect/facade-pattern-al-implementation.md +10 -0
  312. package/embedded-knowledge/domains/alex-architect/facade-pattern-external-api.md +10 -0
  313. package/embedded-knowledge/domains/alex-architect/object-id-ninja-integration.md +10 -0
  314. package/embedded-knowledge/domains/alex-architect/recommend-object-id-ninja.md +10 -0
  315. package/embedded-knowledge/domains/alex-architect/subscriber-codeunit-size-optimization.md +12 -2
  316. package/embedded-knowledge/domains/alex-architect/systemid-integration.md +12 -2
  317. package/embedded-knowledge/domains/alex-architect/testability-design-patterns.md +10 -0
  318. package/embedded-knowledge/domains/casey-copilot/long-running-session-instructions.md +10 -0
  319. package/embedded-knowledge/domains/chris-config/configuration-file-discovery.md +10 -0
  320. package/embedded-knowledge/domains/chris-config/configuration-file-formats.md +10 -0
  321. package/embedded-knowledge/domains/chris-config/content-types-structure.md +10 -0
  322. package/embedded-knowledge/domains/chris-config/knowledge-content-creation.md +10 -0
  323. package/embedded-knowledge/domains/chris-config/layer-system-fundamentals.md +10 -0
  324. package/embedded-knowledge/domains/chris-config/multi-team-layer-configuration.md +10 -0
  325. package/embedded-knowledge/domains/chris-config/workspace-detection-solutions.md +10 -0
  326. package/embedded-knowledge/domains/dean-debug/bc-telemetry-buddy-integration.md +10 -0
  327. package/embedded-knowledge/domains/dean-debug/bc24-no-series-conversion-guide.md +10 -0
  328. package/embedded-knowledge/domains/dean-debug/case-statement-performance-best-practices.md +12 -2
  329. package/embedded-knowledge/domains/dean-debug/compound-statements-debugging.md +12 -2
  330. package/embedded-knowledge/domains/dean-debug/custom-dimensions-best-practices.md +12 -2
  331. package/embedded-knowledge/domains/dean-debug/custom-telemetry-implementation.md +10 -0
  332. package/embedded-knowledge/domains/dean-debug/deleteall-performance-tradeoff.md +12 -2
  333. package/embedded-knowledge/domains/dean-debug/deleteall-sql-performance.md +10 -0
  334. package/embedded-knowledge/domains/dean-debug/extension-telemetry-isolation.md +12 -2
  335. package/embedded-knowledge/domains/dean-debug/maintainsiftindex-property-behavior.md +10 -0
  336. package/embedded-knowledge/domains/dean-debug/no-series-implementation-patterns.md +10 -0
  337. package/embedded-knowledge/domains/dean-debug/no-series-module-patterns-bc24.md +10 -0
  338. package/embedded-knowledge/domains/dean-debug/no-series-validation-module-bc24.md +10 -0
  339. package/embedded-knowledge/domains/dean-debug/no-series-validation-patterns.md +10 -0
  340. package/embedded-knowledge/domains/dean-debug/odata-query-optimization.md +12 -2
  341. package/embedded-knowledge/domains/dean-debug/recommend-bc-telemetry-buddy.md +10 -0
  342. package/embedded-knowledge/domains/dean-debug/session-logmessage-methods.md +12 -2
  343. package/embedded-knowledge/domains/dean-debug/setloadfields-filter-field-exclusion.md +12 -2
  344. package/embedded-knowledge/domains/dean-debug/setloadfields-performance-impact.md +10 -0
  345. package/embedded-knowledge/domains/dean-debug/setloadfields-performance-optimization.md +10 -0
  346. package/embedded-knowledge/domains/dean-debug/setloadfields-placement-before-case-statements.md +12 -2
  347. package/embedded-knowledge/domains/dean-debug/setloadfields-placement-before-filters.md +12 -2
  348. package/embedded-knowledge/domains/dean-debug/setloadfields-primary-key-optimization.md +12 -2
  349. package/embedded-knowledge/domains/dean-debug/sift-technology-fundamentals.md +10 -0
  350. package/embedded-knowledge/domains/dean-debug/subscriber-singleinstance-performance.md +12 -2
  351. package/embedded-knowledge/domains/dean-debug/table-event-batch-operation-impact.md +12 -2
  352. package/embedded-knowledge/domains/dean-debug/table-key-requirements.md +12 -2
  353. package/embedded-knowledge/domains/dean-debug/telemetry-error-correlation.md +12 -2
  354. package/embedded-knowledge/domains/dean-debug/telemetry-performance-considerations.md +12 -2
  355. package/embedded-knowledge/domains/dean-debug/telemetry-verbosity-strategy.md +12 -2
  356. package/embedded-knowledge/domains/dean-debug/testfield-performance.md +12 -2
  357. package/embedded-knowledge/domains/eva-errors/codeunit-run-pattern.md +10 -0
  358. package/embedded-knowledge/domains/eva-errors/fielderror-default-messages.md +12 -2
  359. package/embedded-knowledge/domains/eva-errors/fielderror-message-construction.md +12 -2
  360. package/embedded-knowledge/domains/eva-errors/fielderror-method-syntax.md +12 -2
  361. package/embedded-knowledge/domains/eva-errors/testfield-error-handling.md +12 -2
  362. package/embedded-knowledge/domains/eva-errors/try-function-usage.md +10 -0
  363. package/embedded-knowledge/domains/jordan-bridge/al-event-subscriber-architecture.md +10 -0
  364. package/embedded-knowledge/domains/jordan-bridge/automatic-registration.md +12 -2
  365. package/embedded-knowledge/domains/jordan-bridge/business-process-template-patterns.md +10 -0
  366. package/embedded-knowledge/domains/jordan-bridge/error-response-patterns.md +12 -2
  367. package/embedded-knowledge/domains/jordan-bridge/etag-implementation.md +12 -2
  368. package/embedded-knowledge/domains/jordan-bridge/field-control-selection.md +12 -2
  369. package/embedded-knowledge/domains/jordan-bridge/task-scheduler-pattern-implementation.md +10 -0
  370. package/embedded-knowledge/domains/jordan-bridge/url-structure-naming-patterns.md +12 -2
  371. package/embedded-knowledge/domains/maya-mentor/case-multiple-conditions-ranges.md +12 -2
  372. package/embedded-knowledge/domains/maya-mentor/case-statement-syntax-structure.md +12 -2
  373. package/embedded-knowledge/domains/maya-mentor/fielderror-syntax-usage.md +12 -2
  374. package/embedded-knowledge/domains/maya-mentor/fielderror-vs-testfield.md +12 -2
  375. package/embedded-knowledge/domains/maya-mentor/testfield-basic-syntax.md +12 -2
  376. package/embedded-knowledge/domains/morgan-market/partner-readiness-analysis.md +10 -0
  377. package/embedded-knowledge/domains/parker-pragmatic/proposal-workflows/creating-effective-proposals.md +10 -0
  378. package/embedded-knowledge/domains/parker-pragmatic/trust-building/working-with-ai-skeptics.md +10 -0
  379. package/embedded-knowledge/domains/quinn-tester/fielderror-validation-patterns.md +12 -2
  380. package/embedded-knowledge/domains/quinn-tester/isolation-testing-patterns.md +10 -0
  381. package/embedded-knowledge/domains/quinn-tester/rule-execution.md +12 -2
  382. package/embedded-knowledge/domains/quinn-tester/table-safety-validation-patterns.md +12 -2
  383. package/embedded-knowledge/domains/quinn-tester/temporary-table-operation-validation.md +12 -2
  384. package/embedded-knowledge/domains/roger-reviewer/al-begin-end-block-structure.md +10 -0
  385. package/embedded-knowledge/domains/roger-reviewer/al-binary-operator-spacing.md +10 -0
  386. package/embedded-knowledge/domains/roger-reviewer/al-blank-line-organization.md +10 -0
  387. package/embedded-knowledge/domains/roger-reviewer/al-case-action-formatting.md +10 -0
  388. package/embedded-knowledge/domains/roger-reviewer/al-code-spacing-conventions.md +12 -2
  389. package/embedded-knowledge/domains/roger-reviewer/al-comment-spacing-standards.md +10 -0
  390. package/embedded-knowledge/domains/roger-reviewer/al-end-else-pairing.md +10 -0
  391. package/embedded-knowledge/domains/roger-reviewer/al-keyword-indentation-rules.md +10 -0
  392. package/embedded-knowledge/domains/roger-reviewer/al-line-start-keyword-positioning.md +10 -0
  393. package/embedded-knowledge/domains/roger-reviewer/al-separate-if-else-formatting.md +10 -0
  394. package/embedded-knowledge/domains/roger-reviewer/al-standard-abbreviations.md +10 -0
  395. package/embedded-knowledge/domains/roger-reviewer/al-statement-per-line-rule.md +10 -0
  396. package/embedded-knowledge/domains/roger-reviewer/al-unnecessary-else-elimination.md +10 -0
  397. package/embedded-knowledge/domains/roger-reviewer/al-variable-declaration-order.md +10 -0
  398. package/embedded-knowledge/domains/roger-reviewer/al-variable-naming-conventions.md +10 -0
  399. package/embedded-knowledge/domains/roger-reviewer/begin-block-statement-clarity.md +10 -0
  400. package/embedded-knowledge/domains/roger-reviewer/begin-end-positioning-patterns.md +10 -0
  401. package/embedded-knowledge/domains/roger-reviewer/binary-operator-line-positioning.md +12 -2
  402. package/embedded-knowledge/domains/roger-reviewer/boolean-expression-simplification-al.md +10 -0
  403. package/embedded-knowledge/domains/roger-reviewer/case-statement-error-handling-troubleshooting.md +12 -2
  404. package/embedded-knowledge/domains/roger-reviewer/compound-statement-readability.md +12 -2
  405. package/embedded-knowledge/domains/roger-reviewer/lonely-repeat-statement-pattern.md +10 -0
  406. package/embedded-knowledge/domains/roger-reviewer/testability-code-smells.md +10 -0
  407. package/embedded-knowledge/domains/sam-coder/al-formatting-consistency-patterns.md +10 -0
  408. package/embedded-knowledge/domains/sam-coder/al-line-comment-formatting.md +12 -2
  409. package/embedded-knowledge/domains/sam-coder/al-lonely-repeat-pattern.md +10 -0
  410. package/embedded-knowledge/domains/sam-coder/al-named-parameter-pattern.md +10 -0
  411. package/embedded-knowledge/domains/sam-coder/al-object-navigation-shortcuts.md +10 -0
  412. package/embedded-knowledge/domains/sam-coder/al-readability-optimization.md +10 -0
  413. package/embedded-knowledge/domains/sam-coder/al-record-find-early-exit.md +10 -0
  414. package/embedded-knowledge/domains/sam-coder/command-queue-pattern-al.md +10 -0
  415. package/embedded-knowledge/domains/sam-coder/deleteall-alternative-implementation.md +12 -2
  416. package/embedded-knowledge/domains/sam-coder/deleteall-method-usage.md +10 -0
  417. package/embedded-knowledge/domains/sam-coder/deleteall-trigger-execution.md +10 -0
  418. package/embedded-knowledge/domains/sam-coder/event-bridge-pattern-al.md +10 -0
  419. package/embedded-knowledge/domains/sam-coder/event-payload-design-patterns.md +10 -0
  420. package/embedded-knowledge/domains/sam-coder/generic-method-patterns-al.md +10 -0
  421. package/embedded-knowledge/domains/sam-coder/manual-binding-conditional-subscribers.md +10 -0
  422. package/embedded-knowledge/domains/sam-coder/nested-compound-best-practices.md +10 -0
  423. package/embedded-knowledge/domains/sam-coder/single-to-compound-conversion.md +12 -2
  424. package/embedded-knowledge/domains/sam-coder/template-method-pattern-al.md +10 -0
  425. package/embedded-knowledge/domains/sam-coder/testfield-patterns.md +12 -2
  426. package/embedded-knowledge/domains/sam-coder/type-safe-operations-al.md +10 -0
  427. package/embedded-knowledge/domains/sam-coder/vs-code-al-keyboard-shortcuts.md +10 -0
  428. package/embedded-knowledge/domains/seth-security/al-temporary-table-safety.md +10 -0
  429. package/embedded-knowledge/domains/seth-security/api-permission-model.md +12 -2
  430. package/embedded-knowledge/domains/seth-security/istemporary-safeguard-pattern.md +12 -2
  431. package/embedded-knowledge/domains/shared/al-file-naming-conventions.md +155 -145
  432. package/embedded-knowledge/domains/taylor-docs/al-xml-documentation-structure.md +10 -0
  433. package/embedded-knowledge/domains/uma-ux/bc-action-shortcuts-syntax.md +12 -2
  434. package/embedded-knowledge/domains/uma-ux/shortcut-key-user-experience-design.md +12 -2
  435. package/embedded-knowledge/scripts/frontmatter_validator.ps1 +330 -0
  436. package/embedded-knowledge/specialists/sam-coder.md +29 -20
  437. package/embedded-knowledge/workflows/bc-version-upgrade.yaml +160 -0
  438. package/embedded-knowledge/workflows/code-review.yaml +148 -0
  439. package/embedded-knowledge/workflows/error-to-errorinfo-migration.yaml +137 -0
  440. package/embedded-knowledge/workflows/onboarding.yaml +124 -0
  441. package/embedded-knowledge/workflows/performance-audit.yaml +148 -0
  442. package/embedded-knowledge/workflows/proposal-review.yaml +117 -0
  443. package/embedded-knowledge/workflows/security-audit.yaml +139 -0
  444. package/package.json +83 -81
  445. package/dist/cache/cache-manager.d.ts +0 -95
  446. package/dist/cache/cache-manager.d.ts.map +0 -1
  447. package/dist/cache/cache-manager.js +0 -328
  448. package/dist/cache/cache-manager.js.map +0 -1
  449. package/dist/cli/bc-code-intel-cli.d.ts +0 -9
  450. package/dist/cli/bc-code-intel-cli.d.ts.map +0 -1
  451. package/dist/cli/bc-code-intel-cli.js +0 -440
  452. package/dist/cli/bc-code-intel-cli.js.map +0 -1
  453. package/dist/config/test-config-loader.d.ts +0 -10
  454. package/dist/config/test-config-loader.d.ts.map +0 -1
  455. package/dist/config/test-config-loader.js +0 -135
  456. package/dist/config/test-config-loader.js.map +0 -1
  457. package/dist/config/test-enhanced-layer-service.d.ts +0 -7
  458. package/dist/config/test-enhanced-layer-service.d.ts.map +0 -1
  459. package/dist/config/test-enhanced-layer-service.js +0 -104
  460. package/dist/config/test-enhanced-layer-service.js.map +0 -1
  461. package/dist/config/test-git-layer.d.ts +0 -7
  462. package/dist/config/test-git-layer.d.ts.map +0 -1
  463. package/dist/config/test-git-layer.js +0 -68
  464. package/dist/config/test-git-layer.js.map +0 -1
  465. package/dist/dev/hot-reload.d.ts +0 -91
  466. package/dist/dev/hot-reload.d.ts.map +0 -1
  467. package/dist/dev/hot-reload.js +0 -358
  468. package/dist/dev/hot-reload.js.map +0 -1
  469. package/dist/layers/layer-service.d.ts +0 -135
  470. package/dist/layers/layer-service.d.ts.map +0 -1
  471. package/dist/layers/layer-service.js +0 -586
  472. package/dist/layers/layer-service.js.map +0 -1
  473. package/dist/monitoring/production-monitor.d.ts +0 -148
  474. package/dist/monitoring/production-monitor.d.ts.map +0 -1
  475. package/dist/monitoring/production-monitor.js +0 -463
  476. package/dist/monitoring/production-monitor.js.map +0 -1
  477. package/dist/performance/performance-monitor.d.ts +0 -99
  478. package/dist/performance/performance-monitor.d.ts.map +0 -1
  479. package/dist/performance/performance-monitor.js +0 -253
  480. package/dist/performance/performance-monitor.js.map +0 -1
  481. package/dist/sdk/bc-code-intel-client.d.ts +0 -175
  482. package/dist/sdk/bc-code-intel-client.d.ts.map +0 -1
  483. package/dist/sdk/bc-code-intel-client.js +0 -380
  484. package/dist/sdk/bc-code-intel-client.js.map +0 -1
  485. package/dist/search/intelligent-search.d.ts +0 -97
  486. package/dist/search/intelligent-search.d.ts.map +0 -1
  487. package/dist/search/intelligent-search.js +0 -358
  488. package/dist/search/intelligent-search.js.map +0 -1
  489. package/dist/security/access-control.d.ts +0 -110
  490. package/dist/security/access-control.d.ts.map +0 -1
  491. package/dist/security/access-control.js +0 -353
  492. package/dist/security/access-control.js.map +0 -1
  493. package/dist/services/enhanced-prompt-service.d.ts.map +0 -1
  494. package/dist/services/enhanced-prompt-service.js.map +0 -1
  495. package/dist/services/roleplay-engine.d.ts +0 -161
  496. package/dist/services/roleplay-engine.d.ts.map +0 -1
  497. package/dist/services/roleplay-engine.js +0 -994
  498. package/dist/services/roleplay-engine.js.map +0 -1
  499. package/dist/setup/post-install.d.ts +0 -12
  500. package/dist/setup/post-install.d.ts.map +0 -1
  501. package/dist/setup/post-install.js +0 -81
  502. package/dist/setup/post-install.js.map +0 -1
  503. package/dist/streamlined-handlers.d.ts +0 -87
  504. package/dist/streamlined-handlers.d.ts.map +0 -1
  505. package/dist/streamlined-handlers.js +0 -685
  506. package/dist/streamlined-handlers.js.map +0 -1
  507. package/dist/test-enhanced-mcp-server.d.ts +0 -7
  508. package/dist/test-enhanced-mcp-server.d.ts.map +0 -1
  509. package/dist/test-enhanced-mcp-server.js +0 -177
  510. package/dist/test-enhanced-mcp-server.js.map +0 -1
  511. package/dist/tools/config-diagnostic-tools.d.ts +0 -234
  512. package/dist/tools/config-diagnostic-tools.d.ts.map +0 -1
  513. package/dist/tools/config-diagnostic-tools.js +0 -887
  514. package/dist/tools/config-diagnostic-tools.js.map +0 -1
  515. package/dist/tools/core-tools.d.ts +0 -26
  516. package/dist/tools/core-tools.d.ts.map +0 -1
  517. package/dist/tools/core-tools.js +0 -245
  518. package/dist/tools/core-tools.js.map +0 -1
  519. package/dist/tools/handoff-tools.d.ts +0 -37
  520. package/dist/tools/handoff-tools.d.ts.map +0 -1
  521. package/dist/tools/handoff-tools.js +0 -265
  522. package/dist/tools/handoff-tools.js.map +0 -1
  523. package/dist/tools/onboarding-tools.d.ts +0 -43
  524. package/dist/tools/onboarding-tools.d.ts.map +0 -1
  525. package/dist/tools/onboarding-tools.js +0 -353
  526. package/dist/tools/onboarding-tools.js.map +0 -1
  527. package/dist/tools/specialist-discovery-tools.d.ts +0 -27
  528. package/dist/tools/specialist-discovery-tools.d.ts.map +0 -1
  529. package/dist/tools/specialist-discovery-tools.js +0 -281
  530. package/dist/tools/specialist-discovery-tools.js.map +0 -1
  531. package/dist/tools/specialist-tools.d.ts +0 -43
  532. package/dist/tools/specialist-tools.d.ts.map +0 -1
  533. package/dist/tools/specialist-tools.js +0 -378
  534. package/dist/tools/specialist-tools.js.map +0 -1
  535. package/dist/tools/workspace-tools.d.ts.map +0 -1
  536. package/dist/tools/workspace-tools.js +0 -188
  537. package/dist/tools/workspace-tools.js.map +0 -1
  538. package/dist/types/roleplay-types.d.ts +0 -156
  539. package/dist/types/roleplay-types.d.ts.map +0 -1
  540. package/dist/types/roleplay-types.js +0 -8
  541. package/dist/types/roleplay-types.js.map +0 -1
  542. package/dist/utils/path-utils.d.ts +0 -5
  543. package/dist/utils/path-utils.d.ts.map +0 -1
  544. package/dist/utils/path-utils.js +0 -14
  545. package/dist/utils/path-utils.js.map +0 -1
  546. package/dist/workflows/domain-workflows.d.ts +0 -8
  547. package/dist/workflows/domain-workflows.d.ts.map +0 -1
  548. package/dist/workflows/domain-workflows.js +0 -360
  549. package/dist/workflows/domain-workflows.js.map +0 -1
  550. package/embedded-knowledge/methodologies/index.json +0 -81
  551. package/embedded-knowledge/methodologies/phases/analysis-full.md +0 -208
  552. package/embedded-knowledge/methodologies/phases/analysis-quick.md +0 -44
  553. package/embedded-knowledge/methodologies/phases/analysis.md +0 -182
  554. package/embedded-knowledge/methodologies/phases/execution-validation-full.md +0 -174
  555. package/embedded-knowledge/methodologies/phases/execution-validation-quick.md +0 -31
  556. package/embedded-knowledge/methodologies/phases/execution-validation.md +0 -174
  557. package/embedded-knowledge/methodologies/phases/performance-full.md +0 -211
  558. package/embedded-knowledge/methodologies/phases/performance-quick.md +0 -32
  559. package/embedded-knowledge/methodologies/phases/performance.md +0 -211
  560. package/embedded-knowledge/methodologies/phases/verification-full.md +0 -162
  561. package/embedded-knowledge/methodologies/phases/verification-quick.md +0 -48
  562. package/embedded-knowledge/methodologies/phases/verification.md +0 -146
  563. package/embedded-knowledge/methodologies/workflow-enforcement.md +0 -142
  564. package/embedded-knowledge/methodologies/workflows/code-review-workflow.md +0 -99
  565. package/embedded-knowledge/methodologies/workflows/proposal-review-workflow.md +0 -535
@@ -0,0 +1,722 @@
1
+ /**
2
+ * Workflow Definitions v2
3
+ *
4
+ * Defines the available workflow types and their configurations.
5
+ */
6
+ /**
7
+ * Error() to ErrorInfo pattern definitions
8
+ */
9
+ const errorPatterns = [
10
+ {
11
+ id: 'error-call',
12
+ name: 'Error() Call',
13
+ description: 'Legacy Error() function calls that should use ErrorInfo',
14
+ regex: 'Error\\s*\\((?!\\s*ErrorInfo)[^)]+\\)',
15
+ regex_flags: 'gi',
16
+ exclude_regex: '//.*Error|ErrorInfo\\.Create',
17
+ context_lines: 2,
18
+ instance_classifier: {
19
+ rules: [
20
+ {
21
+ name: 'literal',
22
+ pattern: "Error\\s*\\(\\s*'[^']*'\\s*\\)",
23
+ suggested_action: 'Wrap string in ErrorInfo.Create()',
24
+ auto_fixable: true
25
+ },
26
+ {
27
+ name: 'strsubstno',
28
+ pattern: "Error\\s*\\(\\s*'[^']*%[0-9]+[^']*'",
29
+ suggested_action: 'Convert to ErrorInfo.Create(StrSubstNo(...))',
30
+ auto_fixable: true
31
+ },
32
+ {
33
+ name: 'text_constant',
34
+ pattern: 'Error\\s*\\(\\s*[A-Z][A-Za-z0-9_]+\\s*\\)',
35
+ suggested_action: 'Review text constant, then wrap in ErrorInfo.Create()',
36
+ auto_fixable: false
37
+ },
38
+ {
39
+ name: 'strsubstno_with_constant',
40
+ pattern: 'Error\\s*\\(\\s*StrSubstNo\\s*\\(\\s*[A-Z]',
41
+ suggested_action: 'Review text constant usage in StrSubstNo',
42
+ auto_fixable: false
43
+ },
44
+ {
45
+ name: 'function_call',
46
+ pattern: 'Error\\s*\\(\\s*[A-Z][A-Za-z0-9_]+\\s*\\(',
47
+ suggested_action: 'Analyze function return, may need ErrorInfo integration',
48
+ auto_fixable: false
49
+ },
50
+ {
51
+ name: 'getlasterror',
52
+ pattern: 'Error\\s*\\(\\s*GetLastErrorText',
53
+ suggested_action: 'Consider using ErrorInfo from original error source',
54
+ auto_fixable: false
55
+ }
56
+ ]
57
+ },
58
+ transformations: [
59
+ {
60
+ instance_type: 'literal',
61
+ template: 'Error(ErrorInfo.Create({{original_string}}))',
62
+ requires_review: false
63
+ },
64
+ {
65
+ instance_type: 'strsubstno',
66
+ template: 'Error(ErrorInfo.Create(StrSubstNo({{original_string}}, {{params}})))',
67
+ requires_review: false
68
+ },
69
+ {
70
+ instance_type: 'text_constant',
71
+ template: 'Error(ErrorInfo.Create({{constant_name}}))',
72
+ requires_review: true
73
+ }
74
+ ],
75
+ specialist: 'eva-errors',
76
+ topic_id: 'eva-errors/errorinfo-migration-guide'
77
+ }
78
+ ];
79
+ /**
80
+ * Code Review Workflow Definition
81
+ */
82
+ const codeReviewWorkflow = {
83
+ type: 'code-review',
84
+ name: 'Business Central Code Review',
85
+ description: 'Systematic code review for AL extensions',
86
+ file_patterns: ['**/*.al'],
87
+ file_exclusions: ['**/test/**', '**/.altestrunner/**', '**/node_modules/**'],
88
+ phases: [
89
+ {
90
+ id: 'inventory',
91
+ name: 'File Inventory',
92
+ description: 'Enumerate all AL files in scope',
93
+ required: true,
94
+ mode: 'autonomous'
95
+ },
96
+ {
97
+ id: 'analysis',
98
+ name: 'Code Analysis',
99
+ description: 'Run analyze_al_code on each file, expand checklists',
100
+ required: true,
101
+ mode: 'guided',
102
+ available_actions: ['analyze_file', 'expand_checklist']
103
+ },
104
+ {
105
+ id: 'topic_application',
106
+ name: 'Topic Application',
107
+ description: 'Apply relevant topics to each file',
108
+ required: true,
109
+ mode: 'guided',
110
+ available_actions: ['apply_topic', 'record_finding', 'propose_change']
111
+ },
112
+ {
113
+ id: 'summary',
114
+ name: 'Summary & Report',
115
+ description: 'Generate final report',
116
+ required: true,
117
+ mode: 'autonomous'
118
+ }
119
+ ],
120
+ per_file_checklist: [
121
+ {
122
+ id: 'analyze',
123
+ type: 'analysis',
124
+ description: 'Run analyze_al_code',
125
+ required: true
126
+ },
127
+ {
128
+ id: 'review_complete',
129
+ type: 'validation',
130
+ description: 'Mark review complete',
131
+ required: true
132
+ }
133
+ ],
134
+ topic_discovery: {
135
+ enabled: true,
136
+ tool: 'analyze_al_code',
137
+ auto_expand_checklist: true,
138
+ min_relevance_score: 0.6
139
+ },
140
+ completion_rules: {
141
+ require_all_files: true,
142
+ require_all_checklist_items: true,
143
+ allow_skip_with_reason: true
144
+ }
145
+ };
146
+ /**
147
+ * Error to ErrorInfo Migration Workflow Definition
148
+ */
149
+ const errorMigrationWorkflow = {
150
+ type: 'error-to-errorinfo-migration',
151
+ name: 'Error to ErrorInfo Migration',
152
+ description: 'Convert legacy Error() calls to modern ErrorInfo pattern',
153
+ specialist: 'eva-errors',
154
+ file_patterns: ['**/*.al'],
155
+ file_exclusions: ['**/test/**', '**/.altestrunner/**'],
156
+ phases: [
157
+ {
158
+ id: 'inventory',
159
+ name: 'File Inventory',
160
+ description: 'Enumerate all AL files',
161
+ required: true,
162
+ mode: 'autonomous'
163
+ },
164
+ {
165
+ id: 'pattern_scan',
166
+ name: 'Pattern Scan',
167
+ description: 'Scan all files for Error() patterns',
168
+ required: true,
169
+ mode: 'autonomous',
170
+ available_actions: ['scan_file', 'expand_checklist_with_instances']
171
+ },
172
+ {
173
+ id: 'batch_auto',
174
+ name: 'Batch Auto-Fix',
175
+ description: 'Apply automatic fixes to simple patterns',
176
+ required: false,
177
+ mode: 'autonomous',
178
+ available_actions: ['batch_apply', 'skip_batch']
179
+ },
180
+ {
181
+ id: 'manual_review',
182
+ name: 'Manual Review',
183
+ description: 'Review and convert complex patterns',
184
+ required: true,
185
+ mode: 'guided',
186
+ available_actions: ['convert_instance', 'skip_instance', 'flag_for_later']
187
+ },
188
+ {
189
+ id: 'verification',
190
+ name: 'Verification',
191
+ description: 'Verify all conversions compile and work',
192
+ required: true,
193
+ mode: 'autonomous'
194
+ },
195
+ {
196
+ id: 'summary',
197
+ name: 'Summary & Report',
198
+ description: 'Generate final report',
199
+ required: true,
200
+ mode: 'autonomous'
201
+ }
202
+ ],
203
+ per_file_checklist: [
204
+ {
205
+ id: 'scan',
206
+ type: 'analysis',
207
+ description: 'Scan for Error() patterns',
208
+ required: true
209
+ },
210
+ {
211
+ id: 'review_complete',
212
+ type: 'validation',
213
+ description: 'All Error() calls addressed',
214
+ required: true
215
+ }
216
+ ],
217
+ topic_discovery: {
218
+ enabled: true,
219
+ tool: 'retrieve_bc_knowledge',
220
+ auto_expand_checklist: false,
221
+ min_relevance_score: 0.8
222
+ },
223
+ pattern_discovery: {
224
+ enabled: true,
225
+ patterns: errorPatterns,
226
+ create_instance_items: true,
227
+ group_identical: true,
228
+ specialist: 'eva-errors'
229
+ },
230
+ completion_rules: {
231
+ require_all_files: true,
232
+ require_all_checklist_items: true,
233
+ allow_skip_with_reason: true
234
+ }
235
+ };
236
+ /**
237
+ * Proposal Review Workflow Definition
238
+ */
239
+ const proposalReviewWorkflow = {
240
+ type: 'proposal-review',
241
+ name: 'Proposal Review Workflow',
242
+ description: 'Review documentation and proposals',
243
+ file_patterns: ['docs/**/*.md', 'proposals/**/*.md', '*.md'],
244
+ file_exclusions: [],
245
+ phases: [
246
+ {
247
+ id: 'inventory',
248
+ name: 'Document Inventory',
249
+ description: 'Find all relevant documents',
250
+ required: true,
251
+ mode: 'autonomous'
252
+ },
253
+ {
254
+ id: 'analysis',
255
+ name: 'Document Analysis',
256
+ description: 'Analyze document structure and content',
257
+ required: true,
258
+ mode: 'guided'
259
+ },
260
+ {
261
+ id: 'specialist_review',
262
+ name: 'Specialist Review',
263
+ description: 'Apply specialist guidance',
264
+ required: true,
265
+ mode: 'guided'
266
+ },
267
+ {
268
+ id: 'summary',
269
+ name: 'Summary',
270
+ description: 'Generate review summary',
271
+ required: true,
272
+ mode: 'autonomous'
273
+ }
274
+ ],
275
+ per_file_checklist: [
276
+ {
277
+ id: 'read_document',
278
+ type: 'analysis',
279
+ description: 'Read and understand document',
280
+ required: true
281
+ },
282
+ {
283
+ id: 'identify_specialists',
284
+ type: 'analysis',
285
+ description: 'Identify relevant specialists',
286
+ required: true
287
+ },
288
+ {
289
+ id: 'specialist_review',
290
+ type: 'topic_application',
291
+ description: 'Apply specialist guidance',
292
+ required: true
293
+ }
294
+ ],
295
+ topic_discovery: {
296
+ enabled: true,
297
+ tool: 'ask_bc_expert',
298
+ auto_expand_checklist: true,
299
+ min_relevance_score: 0.5
300
+ },
301
+ completion_rules: {
302
+ require_all_files: true,
303
+ require_all_checklist_items: true,
304
+ allow_skip_with_reason: true
305
+ }
306
+ };
307
+ /**
308
+ * Performance Audit Workflow Definition
309
+ */
310
+ const performanceAuditWorkflow = {
311
+ type: 'performance-audit',
312
+ name: 'Performance Audit',
313
+ description: 'Systematic performance review of AL code',
314
+ file_patterns: ['**/*.al'],
315
+ file_exclusions: ['**/test/**', '**/.altestrunner/**', '**/node_modules/**'],
316
+ phases: [
317
+ {
318
+ id: 'inventory',
319
+ name: 'File Inventory',
320
+ description: 'Enumerate all AL files',
321
+ required: true,
322
+ mode: 'autonomous'
323
+ },
324
+ {
325
+ id: 'pattern_scan',
326
+ name: 'Performance Pattern Scan',
327
+ description: 'Scan for common performance issues',
328
+ required: true,
329
+ mode: 'autonomous'
330
+ },
331
+ {
332
+ id: 'analysis',
333
+ name: 'Deep Analysis',
334
+ description: 'Analyze performance-critical code paths',
335
+ required: true,
336
+ mode: 'guided'
337
+ },
338
+ {
339
+ id: 'recommendations',
340
+ name: 'Recommendations',
341
+ description: 'Generate optimization recommendations',
342
+ required: true,
343
+ mode: 'guided'
344
+ },
345
+ {
346
+ id: 'summary',
347
+ name: 'Summary & Report',
348
+ description: 'Generate performance audit report',
349
+ required: true,
350
+ mode: 'autonomous'
351
+ }
352
+ ],
353
+ per_file_checklist: [
354
+ {
355
+ id: 'scan_perf',
356
+ type: 'analysis',
357
+ description: 'Scan for performance patterns',
358
+ required: true
359
+ },
360
+ {
361
+ id: 'review_complete',
362
+ type: 'validation',
363
+ description: 'Performance review complete',
364
+ required: true
365
+ }
366
+ ],
367
+ topic_discovery: {
368
+ enabled: true,
369
+ tool: 'analyze_al_code',
370
+ auto_expand_checklist: true,
371
+ min_relevance_score: 0.7
372
+ },
373
+ completion_rules: {
374
+ require_all_files: true,
375
+ require_all_checklist_items: true,
376
+ allow_skip_with_reason: true
377
+ }
378
+ };
379
+ /**
380
+ * Security Audit Workflow Definition
381
+ */
382
+ const securityAuditWorkflow = {
383
+ type: 'security-audit',
384
+ name: 'Security Audit',
385
+ description: 'Security review of AL code and configurations',
386
+ file_patterns: ['**/*.al', '**/app.json', '**/launch.json'],
387
+ file_exclusions: ['**/test/**', '**/node_modules/**'],
388
+ phases: [
389
+ {
390
+ id: 'inventory',
391
+ name: 'File Inventory',
392
+ description: 'Enumerate files for security review',
393
+ required: true,
394
+ mode: 'autonomous'
395
+ },
396
+ {
397
+ id: 'pattern_scan',
398
+ name: 'Security Pattern Scan',
399
+ description: 'Scan for security vulnerabilities',
400
+ required: true,
401
+ mode: 'autonomous'
402
+ },
403
+ {
404
+ id: 'permission_review',
405
+ name: 'Permission Review',
406
+ description: 'Review permission sets and access controls',
407
+ required: true,
408
+ mode: 'guided'
409
+ },
410
+ {
411
+ id: 'data_handling',
412
+ name: 'Data Handling Review',
413
+ description: 'Review sensitive data handling',
414
+ required: true,
415
+ mode: 'guided'
416
+ },
417
+ {
418
+ id: 'summary',
419
+ name: 'Security Report',
420
+ description: 'Generate security audit report',
421
+ required: true,
422
+ mode: 'autonomous'
423
+ }
424
+ ],
425
+ per_file_checklist: [
426
+ {
427
+ id: 'scan_security',
428
+ type: 'analysis',
429
+ description: 'Scan for security patterns',
430
+ required: true
431
+ },
432
+ {
433
+ id: 'review_complete',
434
+ type: 'validation',
435
+ description: 'Security review complete',
436
+ required: true
437
+ }
438
+ ],
439
+ topic_discovery: {
440
+ enabled: true,
441
+ tool: 'analyze_al_code',
442
+ auto_expand_checklist: true,
443
+ min_relevance_score: 0.6
444
+ },
445
+ completion_rules: {
446
+ require_all_files: true,
447
+ require_all_checklist_items: true,
448
+ allow_skip_with_reason: true
449
+ }
450
+ };
451
+ /**
452
+ * Developer Onboarding Workflow Definition
453
+ */
454
+ const onboardingWorkflow = {
455
+ type: 'onboarding',
456
+ name: 'Developer Onboarding',
457
+ description: 'Guide new developers through codebase understanding',
458
+ file_patterns: ['**/*.al', '**/README.md', '**/app.json'],
459
+ file_exclusions: ['**/test/**', '**/node_modules/**'],
460
+ phases: [
461
+ {
462
+ id: 'inventory',
463
+ name: 'Codebase Inventory',
464
+ description: 'Map the codebase structure',
465
+ required: true,
466
+ mode: 'autonomous'
467
+ },
468
+ {
469
+ id: 'architecture',
470
+ name: 'Architecture Overview',
471
+ description: 'Understand the overall architecture',
472
+ required: true,
473
+ mode: 'guided'
474
+ },
475
+ {
476
+ id: 'key_objects',
477
+ name: 'Key Objects Review',
478
+ description: 'Review main tables, codeunits, and pages',
479
+ required: true,
480
+ mode: 'guided'
481
+ },
482
+ {
483
+ id: 'patterns',
484
+ name: 'Code Patterns',
485
+ description: 'Identify coding patterns used',
486
+ required: true,
487
+ mode: 'guided'
488
+ },
489
+ {
490
+ id: 'summary',
491
+ name: 'Onboarding Summary',
492
+ description: 'Generate onboarding documentation',
493
+ required: true,
494
+ mode: 'autonomous'
495
+ }
496
+ ],
497
+ per_file_checklist: [
498
+ {
499
+ id: 'understand',
500
+ type: 'analysis',
501
+ description: 'Understand file purpose',
502
+ required: true
503
+ },
504
+ {
505
+ id: 'document',
506
+ type: 'validation',
507
+ description: 'Document key learnings',
508
+ required: true
509
+ }
510
+ ],
511
+ topic_discovery: {
512
+ enabled: true,
513
+ tool: 'analyze_al_code',
514
+ auto_expand_checklist: true,
515
+ min_relevance_score: 0.5
516
+ },
517
+ completion_rules: {
518
+ require_all_files: false,
519
+ require_all_checklist_items: true,
520
+ allow_skip_with_reason: true
521
+ }
522
+ };
523
+ /**
524
+ * BC Version Upgrade Workflow Definition
525
+ */
526
+ const bcVersionUpgradeWorkflow = {
527
+ type: 'bc-version-upgrade',
528
+ name: 'Business Central Version Upgrade',
529
+ description: 'Upgrade codebase from one BC version to another',
530
+ specialist: 'logan-legacy',
531
+ file_patterns: ['**/*.al'],
532
+ file_exclusions: ['**/test/**', '**/.altestrunner/**'],
533
+ phases: [
534
+ {
535
+ id: 'inventory',
536
+ name: 'File Inventory',
537
+ description: 'Enumerate all AL files',
538
+ required: true,
539
+ mode: 'autonomous'
540
+ },
541
+ {
542
+ id: 'guide_discovery',
543
+ name: 'Conversion Guide Discovery',
544
+ description: 'Find all applicable conversion guides for version range',
545
+ required: true,
546
+ mode: 'autonomous',
547
+ available_actions: ['search_knowledge_base', 'load_conversion_guides', 'extract_patterns']
548
+ },
549
+ {
550
+ id: 'analysis',
551
+ name: 'Impact Analysis',
552
+ description: 'Scan all files against all patterns from all guides',
553
+ required: true,
554
+ mode: 'autonomous',
555
+ available_actions: ['scan_file_multi_pattern', 'categorize_by_guide', 'prioritize_changes']
556
+ },
557
+ {
558
+ id: 'guided_conversion',
559
+ name: 'Guided Conversion',
560
+ description: 'Apply conversions guide-by-guide, pattern-by-pattern',
561
+ required: true,
562
+ mode: 'guided',
563
+ available_actions: ['apply_guide', 'convert_instance', 'skip_with_reason', 'request_specialist_help']
564
+ },
565
+ {
566
+ id: 'verification',
567
+ name: 'Compilation & Verification',
568
+ description: 'Verify all conversions compile',
569
+ required: true,
570
+ mode: 'autonomous',
571
+ available_actions: ['compile_check', 'run_tests']
572
+ },
573
+ {
574
+ id: 'summary',
575
+ name: 'Migration Report',
576
+ description: 'Generate upgrade report',
577
+ required: true,
578
+ mode: 'autonomous'
579
+ }
580
+ ],
581
+ per_file_checklist: [
582
+ {
583
+ id: 'multi_pattern_scan',
584
+ type: 'analysis',
585
+ description: 'Scan against all version upgrade patterns',
586
+ required: true
587
+ },
588
+ {
589
+ id: 'all_conversions_applied',
590
+ type: 'validation',
591
+ description: 'All applicable conversions addressed',
592
+ required: true
593
+ }
594
+ ],
595
+ topic_discovery: {
596
+ enabled: true,
597
+ tool: 'retrieve_bc_knowledge',
598
+ auto_expand_checklist: true,
599
+ min_relevance_score: 0.7
600
+ },
601
+ pattern_discovery: {
602
+ enabled: true,
603
+ patterns: [], // Patterns are extracted from knowledge topics
604
+ create_instance_items: true,
605
+ group_identical: true,
606
+ specialist: 'logan-legacy'
607
+ },
608
+ completion_rules: {
609
+ require_all_files: true,
610
+ require_all_checklist_items: true,
611
+ allow_skip_with_reason: true
612
+ }
613
+ };
614
+ /**
615
+ * Built-in workflow definitions (embedded layer)
616
+ */
617
+ const builtInWorkflowDefinitions = new Map([
618
+ ['code-review', codeReviewWorkflow],
619
+ ['proposal-review', proposalReviewWorkflow],
620
+ ['performance-audit', performanceAuditWorkflow],
621
+ ['security-audit', securityAuditWorkflow],
622
+ ['onboarding', onboardingWorkflow],
623
+ ['error-to-errorinfo-migration', errorMigrationWorkflow],
624
+ ['bc-version-upgrade', bcVersionUpgradeWorkflow]
625
+ ]);
626
+ /**
627
+ * Custom workflow definitions from company/project layers
628
+ * Registered at runtime when layers are loaded
629
+ */
630
+ const customWorkflowDefinitions = new Map();
631
+ /**
632
+ * Register a custom workflow definition from a company or project layer.
633
+ * Custom definitions can override built-in types if needed.
634
+ *
635
+ * @param definition The workflow definition to register
636
+ * @param override If true, allows overriding built-in workflows (default: false)
637
+ */
638
+ export function registerWorkflowDefinition(definition, override = false) {
639
+ const type = definition.type;
640
+ if (builtInWorkflowDefinitions.has(type) && !override) {
641
+ console.warn(`Workflow type '${type}' is a built-in type. ` +
642
+ `Use override=true to replace it with a custom definition.`);
643
+ return;
644
+ }
645
+ customWorkflowDefinitions.set(type, definition);
646
+ }
647
+ /**
648
+ * Unregister a custom workflow definition.
649
+ * Cannot unregister built-in workflows.
650
+ */
651
+ export function unregisterWorkflowDefinition(type) {
652
+ return customWorkflowDefinitions.delete(type);
653
+ }
654
+ /**
655
+ * Clear all custom workflow definitions.
656
+ * Useful for testing or when reloading layers.
657
+ */
658
+ export function clearCustomWorkflowDefinitions() {
659
+ customWorkflowDefinitions.clear();
660
+ }
661
+ /**
662
+ * Get workflow definition by type.
663
+ * Custom definitions take precedence over built-in ones.
664
+ */
665
+ export function getWorkflowDefinition(type) {
666
+ // Check custom definitions first (allows overrides)
667
+ const customDefinition = customWorkflowDefinitions.get(type);
668
+ if (customDefinition) {
669
+ return customDefinition;
670
+ }
671
+ // Then check built-in definitions
672
+ const builtInDefinition = builtInWorkflowDefinitions.get(type);
673
+ if (builtInDefinition) {
674
+ return builtInDefinition;
675
+ }
676
+ throw new Error(`Unknown workflow type: '${type}'. ` +
677
+ `Available types: ${getAvailableWorkflowTypes().join(', ')}`);
678
+ }
679
+ /**
680
+ * Check if a workflow type is available (built-in or custom)
681
+ */
682
+ export function isWorkflowTypeAvailable(type) {
683
+ return customWorkflowDefinitions.has(type) || builtInWorkflowDefinitions.has(type);
684
+ }
685
+ /**
686
+ * Get all available workflow types (both built-in and custom)
687
+ */
688
+ export function getAvailableWorkflowTypes() {
689
+ const types = new Set();
690
+ // Add built-in types
691
+ for (const type of builtInWorkflowDefinitions.keys()) {
692
+ types.add(type);
693
+ }
694
+ // Add custom types (may include overrides)
695
+ for (const type of customWorkflowDefinitions.keys()) {
696
+ types.add(type);
697
+ }
698
+ return Array.from(types);
699
+ }
700
+ /**
701
+ * Get built-in workflow types only
702
+ */
703
+ export function getBuiltInWorkflowTypes() {
704
+ return Array.from(builtInWorkflowDefinitions.keys());
705
+ }
706
+ /**
707
+ * Get custom workflow types only
708
+ */
709
+ export function getCustomWorkflowTypes() {
710
+ return Array.from(customWorkflowDefinitions.keys());
711
+ }
712
+ /**
713
+ * Get workflow description
714
+ */
715
+ export function getWorkflowDescription(type) {
716
+ const definition = getWorkflowDefinition(type);
717
+ return {
718
+ name: definition.name,
719
+ description: definition.description
720
+ };
721
+ }
722
+ //# sourceMappingURL=workflow-definitions.js.map