bc-code-intelligence-mcp 1.1.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 (638) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +107 -0
  3. package/dist/cache/cache-manager.d.ts +95 -0
  4. package/dist/cache/cache-manager.d.ts.map +1 -0
  5. package/dist/cache/cache-manager.js +328 -0
  6. package/dist/cache/cache-manager.js.map +1 -0
  7. package/dist/cli/bc-code-intel-cli.d.ts +9 -0
  8. package/dist/cli/bc-code-intel-cli.d.ts.map +1 -0
  9. package/dist/cli/bc-code-intel-cli.js +441 -0
  10. package/dist/cli/bc-code-intel-cli.js.map +1 -0
  11. package/dist/config/config-loader.d.ts +21 -0
  12. package/dist/config/config-loader.d.ts.map +1 -0
  13. package/dist/config/config-loader.js +402 -0
  14. package/dist/config/config-loader.js.map +1 -0
  15. package/dist/config/config-validator.d.ts +84 -0
  16. package/dist/config/config-validator.d.ts.map +1 -0
  17. package/dist/config/config-validator.js +604 -0
  18. package/dist/config/config-validator.js.map +1 -0
  19. package/dist/config/test-config-loader.d.ts +10 -0
  20. package/dist/config/test-config-loader.d.ts.map +1 -0
  21. package/dist/config/test-config-loader.js +135 -0
  22. package/dist/config/test-config-loader.js.map +1 -0
  23. package/dist/config/test-enhanced-layer-service.d.ts +7 -0
  24. package/dist/config/test-enhanced-layer-service.d.ts.map +1 -0
  25. package/dist/config/test-enhanced-layer-service.js +104 -0
  26. package/dist/config/test-enhanced-layer-service.js.map +1 -0
  27. package/dist/config/test-git-layer.d.ts +7 -0
  28. package/dist/config/test-git-layer.d.ts.map +1 -0
  29. package/dist/config/test-git-layer.js +68 -0
  30. package/dist/config/test-git-layer.js.map +1 -0
  31. package/dist/dev/hot-reload.d.ts +91 -0
  32. package/dist/dev/hot-reload.d.ts.map +1 -0
  33. package/dist/dev/hot-reload.js +358 -0
  34. package/dist/dev/hot-reload.js.map +1 -0
  35. package/dist/index.d.ts +57 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +673 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/layers/base-layer.d.ts +83 -0
  40. package/dist/layers/base-layer.d.ts.map +1 -0
  41. package/dist/layers/base-layer.js +166 -0
  42. package/dist/layers/base-layer.js.map +1 -0
  43. package/dist/layers/embedded-layer.d.ts +53 -0
  44. package/dist/layers/embedded-layer.d.ts.map +1 -0
  45. package/dist/layers/embedded-layer.js +238 -0
  46. package/dist/layers/embedded-layer.js.map +1 -0
  47. package/dist/layers/git-layer.d.ts +54 -0
  48. package/dist/layers/git-layer.d.ts.map +1 -0
  49. package/dist/layers/git-layer.js +369 -0
  50. package/dist/layers/git-layer.js.map +1 -0
  51. package/dist/layers/index.d.ts +12 -0
  52. package/dist/layers/index.d.ts.map +1 -0
  53. package/dist/layers/index.js +11 -0
  54. package/dist/layers/index.js.map +1 -0
  55. package/dist/layers/layer-service.d.ts +129 -0
  56. package/dist/layers/layer-service.d.ts.map +1 -0
  57. package/dist/layers/layer-service.js +570 -0
  58. package/dist/layers/layer-service.js.map +1 -0
  59. package/dist/layers/project-layer.d.ts +50 -0
  60. package/dist/layers/project-layer.d.ts.map +1 -0
  61. package/dist/layers/project-layer.js +256 -0
  62. package/dist/layers/project-layer.js.map +1 -0
  63. package/dist/monitoring/production-monitor.d.ts +148 -0
  64. package/dist/monitoring/production-monitor.d.ts.map +1 -0
  65. package/dist/monitoring/production-monitor.js +463 -0
  66. package/dist/monitoring/production-monitor.js.map +1 -0
  67. package/dist/performance/performance-monitor.d.ts +99 -0
  68. package/dist/performance/performance-monitor.d.ts.map +1 -0
  69. package/dist/performance/performance-monitor.js +253 -0
  70. package/dist/performance/performance-monitor.js.map +1 -0
  71. package/dist/sdk/bc-code-intel-client.d.ts +175 -0
  72. package/dist/sdk/bc-code-intel-client.d.ts.map +1 -0
  73. package/dist/sdk/bc-code-intel-client.js +380 -0
  74. package/dist/sdk/bc-code-intel-client.js.map +1 -0
  75. package/dist/search/intelligent-search.d.ts +97 -0
  76. package/dist/search/intelligent-search.d.ts.map +1 -0
  77. package/dist/search/intelligent-search.js +355 -0
  78. package/dist/search/intelligent-search.js.map +1 -0
  79. package/dist/security/access-control.d.ts +110 -0
  80. package/dist/security/access-control.d.ts.map +1 -0
  81. package/dist/security/access-control.js +353 -0
  82. package/dist/security/access-control.js.map +1 -0
  83. package/dist/services/code-analysis-service.d.ts +72 -0
  84. package/dist/services/code-analysis-service.d.ts.map +1 -0
  85. package/dist/services/code-analysis-service.js +811 -0
  86. package/dist/services/code-analysis-service.js.map +1 -0
  87. package/dist/services/knowledge-service.d.ts +91 -0
  88. package/dist/services/knowledge-service.d.ts.map +1 -0
  89. package/dist/services/knowledge-service.js +370 -0
  90. package/dist/services/knowledge-service.js.map +1 -0
  91. package/dist/services/methodology-service.d.ts +91 -0
  92. package/dist/services/methodology-service.d.ts.map +1 -0
  93. package/dist/services/methodology-service.js +408 -0
  94. package/dist/services/methodology-service.js.map +1 -0
  95. package/dist/services/workflow-service.d.ts +132 -0
  96. package/dist/services/workflow-service.d.ts.map +1 -0
  97. package/dist/services/workflow-service.js +277 -0
  98. package/dist/services/workflow-service.js.map +1 -0
  99. package/dist/setup/post-install.d.ts +12 -0
  100. package/dist/setup/post-install.d.ts.map +1 -0
  101. package/dist/setup/post-install.js +81 -0
  102. package/dist/setup/post-install.js.map +1 -0
  103. package/dist/streamlined-handlers.d.ts +51 -0
  104. package/dist/streamlined-handlers.d.ts.map +1 -0
  105. package/dist/streamlined-handlers.js +287 -0
  106. package/dist/streamlined-handlers.js.map +1 -0
  107. package/dist/streamlined-tools.d.ts +316 -0
  108. package/dist/streamlined-tools.d.ts.map +1 -0
  109. package/dist/streamlined-tools.js +189 -0
  110. package/dist/streamlined-tools.js.map +1 -0
  111. package/dist/test-enhanced-mcp-server.d.ts +7 -0
  112. package/dist/test-enhanced-mcp-server.d.ts.map +1 -0
  113. package/dist/test-enhanced-mcp-server.js +177 -0
  114. package/dist/test-enhanced-mcp-server.js.map +1 -0
  115. package/dist/types/bc-knowledge.d.ts +294 -0
  116. package/dist/types/bc-knowledge.d.ts.map +1 -0
  117. package/dist/types/bc-knowledge.js +44 -0
  118. package/dist/types/bc-knowledge.js.map +1 -0
  119. package/dist/types/config-types.d.ts +180 -0
  120. package/dist/types/config-types.d.ts.map +1 -0
  121. package/dist/types/config-types.js +104 -0
  122. package/dist/types/config-types.js.map +1 -0
  123. package/dist/types/index.d.ts +5 -0
  124. package/dist/types/index.d.ts.map +1 -0
  125. package/dist/types/index.js +7 -0
  126. package/dist/types/index.js.map +1 -0
  127. package/dist/types/layer-types.d.ts +171 -0
  128. package/dist/types/layer-types.d.ts.map +1 -0
  129. package/dist/types/layer-types.js +27 -0
  130. package/dist/types/layer-types.js.map +1 -0
  131. package/dist/types/persona-types.d.ts +77 -0
  132. package/dist/types/persona-types.d.ts.map +1 -0
  133. package/dist/types/persona-types.js +341 -0
  134. package/dist/types/persona-types.js.map +1 -0
  135. package/dist/utils/path-utils.d.ts +5 -0
  136. package/dist/utils/path-utils.d.ts.map +1 -0
  137. package/dist/utils/path-utils.js +14 -0
  138. package/dist/utils/path-utils.js.map +1 -0
  139. package/dist/workflows/domain-workflows.d.ts +8 -0
  140. package/dist/workflows/domain-workflows.d.ts.map +1 -0
  141. package/dist/workflows/domain-workflows.js +360 -0
  142. package/dist/workflows/domain-workflows.js.map +1 -0
  143. package/embedded-knowledge/.github/ISSUE_TEMPLATE/bug-report.md +24 -0
  144. package/embedded-knowledge/.github/ISSUE_TEMPLATE/content-improvement.md +24 -0
  145. package/embedded-knowledge/.github/ISSUE_TEMPLATE/knowledge-request.md +30 -0
  146. package/embedded-knowledge/AGENTS.md +69 -0
  147. package/embedded-knowledge/CONTRIBUTING.md +58 -0
  148. package/embedded-knowledge/LICENSE +21 -0
  149. package/embedded-knowledge/README.md +15 -0
  150. package/embedded-knowledge/domains/alex-architect/api-delegate-operation-pattern.md +90 -0
  151. package/embedded-knowledge/domains/alex-architect/api-fieldset-registration-pattern.md +113 -0
  152. package/embedded-knowledge/domains/alex-architect/api-interface-design-patterns.md +101 -0
  153. package/embedded-knowledge/domains/alex-architect/api-page-development-patterns.md +87 -0
  154. package/embedded-knowledge/domains/alex-architect/complex-facade-patterns.md +155 -0
  155. package/embedded-knowledge/domains/alex-architect/facade-pattern-al-implementation.md +138 -0
  156. package/embedded-knowledge/domains/alex-architect/facade-pattern-external-api.md +79 -0
  157. package/embedded-knowledge/domains/alex-architect/samples/api-delegate-operation.md +280 -0
  158. package/embedded-knowledge/domains/alex-architect/samples/api-fieldset-registration.md +200 -0
  159. package/embedded-knowledge/domains/alex-architect/samples/api-interface-design.md +565 -0
  160. package/embedded-knowledge/domains/alex-architect/samples/api-page-implementation.md +665 -0
  161. package/embedded-knowledge/domains/alex-architect/samples/complex-facade-patterns.md +325 -0
  162. package/embedded-knowledge/domains/alex-architect/samples/facade-pattern-al.md +696 -0
  163. package/embedded-knowledge/domains/alex-architect/samples/facade-pattern.md +320 -0
  164. package/embedded-knowledge/domains/alex-architect/samples/subscriber-organization.md +102 -0
  165. package/embedded-knowledge/domains/alex-architect/samples/systemid-integration.md +433 -0
  166. package/embedded-knowledge/domains/alex-architect/subscriber-codeunit-size-optimization.md +66 -0
  167. package/embedded-knowledge/domains/alex-architect/systemid-integration.md +115 -0
  168. package/embedded-knowledge/domains/dean-debug/bc24-no-series-conversion-guide.md +295 -0
  169. package/embedded-knowledge/domains/dean-debug/case-statement-performance-best-practices.md +86 -0
  170. package/embedded-knowledge/domains/dean-debug/compound-statements-debugging.md +96 -0
  171. package/embedded-knowledge/domains/dean-debug/custom-dimensions-best-practices.md +70 -0
  172. package/embedded-knowledge/domains/dean-debug/custom-telemetry-implementation.md +84 -0
  173. package/embedded-knowledge/domains/dean-debug/deleteall-performance-tradeoff.md +93 -0
  174. package/embedded-knowledge/domains/dean-debug/deleteall-sql-performance.md +73 -0
  175. package/embedded-knowledge/domains/dean-debug/extension-telemetry-isolation.md +78 -0
  176. package/embedded-knowledge/domains/dean-debug/maintainsiftindex-property-behavior.md +79 -0
  177. package/embedded-knowledge/domains/dean-debug/no-series-implementation-patterns.md +87 -0
  178. package/embedded-knowledge/domains/dean-debug/no-series-module-patterns-bc24.md +209 -0
  179. package/embedded-knowledge/domains/dean-debug/no-series-validation-module-bc24.md +246 -0
  180. package/embedded-knowledge/domains/dean-debug/no-series-validation-patterns.md +107 -0
  181. package/embedded-knowledge/domains/dean-debug/odata-query-optimization.md +105 -0
  182. package/embedded-knowledge/domains/dean-debug/samples/bc24-no-series-conversion.md +186 -0
  183. package/embedded-knowledge/domains/dean-debug/samples/case-performance-optimization.md +60 -0
  184. package/embedded-knowledge/domains/dean-debug/samples/compound-statements-debugging.md +139 -0
  185. package/embedded-knowledge/domains/dean-debug/samples/custom-dimensions.md +190 -0
  186. package/embedded-knowledge/domains/dean-debug/samples/custom-telemetry.md +516 -0
  187. package/embedded-knowledge/domains/dean-debug/samples/deleteall-performance.md +298 -0
  188. package/embedded-knowledge/domains/dean-debug/samples/error-correlation.md +324 -0
  189. package/embedded-knowledge/domains/dean-debug/samples/extension-isolation.md +344 -0
  190. package/embedded-knowledge/domains/dean-debug/samples/logmessage-methods.md +137 -0
  191. package/embedded-knowledge/domains/dean-debug/samples/maintainsiftindex-examples.md +340 -0
  192. package/embedded-knowledge/domains/dean-debug/samples/no-series-implementation.md +810 -0
  193. package/embedded-knowledge/domains/dean-debug/samples/no-series-module-bc24.md +86 -0
  194. package/embedded-knowledge/domains/dean-debug/samples/no-series-validation-module-bc24.md +110 -0
  195. package/embedded-knowledge/domains/dean-debug/samples/no-series-validation.md +758 -0
  196. package/embedded-knowledge/domains/dean-debug/samples/odata-query-optimization.md +665 -0
  197. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-before-case.md +316 -0
  198. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-before-filters.md +223 -0
  199. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-filter-exclusion.md +149 -0
  200. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-optimization.md +412 -0
  201. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-performance.md +211 -0
  202. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-primary-key.md +155 -0
  203. package/embedded-knowledge/domains/dean-debug/samples/sift-technology-fundamentals.md +475 -0
  204. package/embedded-knowledge/domains/dean-debug/samples/singleinstance-subscribers.md +238 -0
  205. package/embedded-knowledge/domains/dean-debug/samples/table-event-batching.md +97 -0
  206. package/embedded-knowledge/domains/dean-debug/samples/table-key-requirements.md +666 -0
  207. package/embedded-knowledge/domains/dean-debug/samples/telemetry-performance.md +319 -0
  208. package/embedded-knowledge/domains/dean-debug/samples/verbosity-strategy.md +236 -0
  209. package/embedded-knowledge/domains/dean-debug/session-logmessage-methods.md +59 -0
  210. package/embedded-knowledge/domains/dean-debug/setloadfields-filter-field-exclusion.md +67 -0
  211. package/embedded-knowledge/domains/dean-debug/setloadfields-performance-impact.md +70 -0
  212. package/embedded-knowledge/domains/dean-debug/setloadfields-performance-optimization.md +90 -0
  213. package/embedded-knowledge/domains/dean-debug/setloadfields-placement-before-case-statements.md +87 -0
  214. package/embedded-knowledge/domains/dean-debug/setloadfields-placement-before-filters.md +70 -0
  215. package/embedded-knowledge/domains/dean-debug/setloadfields-primary-key-optimization.md +74 -0
  216. package/embedded-knowledge/domains/dean-debug/sift-technology-fundamentals.md +81 -0
  217. package/embedded-knowledge/domains/dean-debug/subscriber-singleinstance-performance.md +56 -0
  218. package/embedded-knowledge/domains/dean-debug/table-event-batch-operation-impact.md +66 -0
  219. package/embedded-knowledge/domains/dean-debug/table-key-requirements.md +79 -0
  220. package/embedded-knowledge/domains/dean-debug/telemetry-error-correlation.md +78 -0
  221. package/embedded-knowledge/domains/dean-debug/telemetry-performance-considerations.md +83 -0
  222. package/embedded-knowledge/domains/dean-debug/telemetry-verbosity-strategy.md +76 -0
  223. package/embedded-knowledge/domains/dean-debug/testfield-performance.md +104 -0
  224. package/embedded-knowledge/domains/eva-errors/fielderror-default-messages.md +145 -0
  225. package/embedded-knowledge/domains/eva-errors/fielderror-message-construction.md +104 -0
  226. package/embedded-knowledge/domains/eva-errors/fielderror-method-syntax.md +114 -0
  227. package/embedded-knowledge/domains/eva-errors/samples/fielderror-default-messages.md +356 -0
  228. package/embedded-knowledge/domains/eva-errors/samples/fielderror-syntax.md +256 -0
  229. package/embedded-knowledge/domains/eva-errors/samples/table-safety-validation-patterns.md +101 -0
  230. package/embedded-knowledge/domains/eva-errors/samples/testfield-error-handling.md +108 -0
  231. package/embedded-knowledge/domains/eva-errors/testfield-error-handling.md +80 -0
  232. package/embedded-knowledge/domains/jordan-bridge/al-event-subscriber-architecture.md +98 -0
  233. package/embedded-knowledge/domains/jordan-bridge/automatic-registration.md +123 -0
  234. package/embedded-knowledge/domains/jordan-bridge/business-process-template-patterns.md +96 -0
  235. package/embedded-knowledge/domains/jordan-bridge/error-response-patterns.md +115 -0
  236. package/embedded-knowledge/domains/jordan-bridge/etag-implementation.md +115 -0
  237. package/embedded-knowledge/domains/jordan-bridge/field-control-selection.md +114 -0
  238. package/embedded-knowledge/domains/jordan-bridge/samples/al-event-subscriber-architecture.md +395 -0
  239. package/embedded-knowledge/domains/jordan-bridge/samples/api-error-responses.md +479 -0
  240. package/embedded-knowledge/domains/jordan-bridge/samples/api-field-control.md +548 -0
  241. package/embedded-knowledge/domains/jordan-bridge/samples/api-url-naming.md +287 -0
  242. package/embedded-knowledge/domains/jordan-bridge/samples/business-process-templates.md +434 -0
  243. package/embedded-knowledge/domains/jordan-bridge/samples/etag-implementation.md +508 -0
  244. package/embedded-knowledge/domains/jordan-bridge/samples/task-scheduler-pattern.md +615 -0
  245. package/embedded-knowledge/domains/jordan-bridge/task-scheduler-pattern-implementation.md +144 -0
  246. package/embedded-knowledge/domains/jordan-bridge/url-structure-naming-patterns.md +96 -0
  247. package/embedded-knowledge/domains/maya-mentor/case-multiple-conditions-ranges.md +124 -0
  248. package/embedded-knowledge/domains/maya-mentor/case-statement-syntax-structure.md +84 -0
  249. package/embedded-knowledge/domains/maya-mentor/fielderror-syntax-usage.md +75 -0
  250. package/embedded-knowledge/domains/maya-mentor/fielderror-vs-testfield.md +96 -0
  251. package/embedded-knowledge/domains/maya-mentor/samples/case-statement-multiple-conditions.md +385 -0
  252. package/embedded-knowledge/domains/maya-mentor/samples/case-statement-syntax-structure.md +72 -0
  253. package/embedded-knowledge/domains/maya-mentor/samples/fielderror-syntax-usage.md +48 -0
  254. package/embedded-knowledge/domains/maya-mentor/samples/testfield-basic-syntax.md +49 -0
  255. package/embedded-knowledge/domains/maya-mentor/testfield-basic-syntax.md +67 -0
  256. package/embedded-knowledge/domains/quinn-tester/fielderror-validation-patterns.md +119 -0
  257. package/embedded-knowledge/domains/quinn-tester/rule-execution.md +123 -0
  258. package/embedded-knowledge/domains/quinn-tester/samples/case-error-handling.md +64 -0
  259. package/embedded-knowledge/domains/quinn-tester/samples/fielderror-message-construction.md +60 -0
  260. package/embedded-knowledge/domains/quinn-tester/samples/fielderror-validation-patterns.md +83 -0
  261. package/embedded-knowledge/domains/quinn-tester/samples/rule-execution.md +716 -0
  262. package/embedded-knowledge/domains/quinn-tester/samples/table-safety-validation-patterns.md +101 -0
  263. package/embedded-knowledge/domains/quinn-tester/samples/temporary-table-operation-validation.md +91 -0
  264. package/embedded-knowledge/domains/quinn-tester/table-safety-validation-patterns.md +79 -0
  265. package/embedded-knowledge/domains/quinn-tester/temporary-table-operation-validation.md +79 -0
  266. package/embedded-knowledge/domains/roger-reviewer/al-begin-end-block-structure.md +89 -0
  267. package/embedded-knowledge/domains/roger-reviewer/al-binary-operator-spacing.md +76 -0
  268. package/embedded-knowledge/domains/roger-reviewer/al-blank-line-organization.md +76 -0
  269. package/embedded-knowledge/domains/roger-reviewer/al-case-action-formatting.md +76 -0
  270. package/embedded-knowledge/domains/roger-reviewer/al-code-spacing-conventions.md +81 -0
  271. package/embedded-knowledge/domains/roger-reviewer/al-comment-spacing-standards.md +76 -0
  272. package/embedded-knowledge/domains/roger-reviewer/al-end-else-pairing.md +75 -0
  273. package/embedded-knowledge/domains/roger-reviewer/al-keyword-indentation-rules.md +76 -0
  274. package/embedded-knowledge/domains/roger-reviewer/al-line-start-keyword-positioning.md +76 -0
  275. package/embedded-knowledge/domains/roger-reviewer/al-separate-if-else-formatting.md +76 -0
  276. package/embedded-knowledge/domains/roger-reviewer/al-standard-abbreviations.md +96 -0
  277. package/embedded-knowledge/domains/roger-reviewer/al-statement-per-line-rule.md +76 -0
  278. package/embedded-knowledge/domains/roger-reviewer/al-unnecessary-else-elimination.md +86 -0
  279. package/embedded-knowledge/domains/roger-reviewer/al-variable-declaration-order.md +90 -0
  280. package/embedded-knowledge/domains/roger-reviewer/al-variable-naming-conventions.md +82 -0
  281. package/embedded-knowledge/domains/roger-reviewer/begin-block-statement-clarity.md +78 -0
  282. package/embedded-knowledge/domains/roger-reviewer/begin-end-positioning-patterns.md +76 -0
  283. package/embedded-knowledge/domains/roger-reviewer/binary-operator-line-positioning.md +78 -0
  284. package/embedded-knowledge/domains/roger-reviewer/boolean-expression-simplification-al.md +100 -0
  285. package/embedded-knowledge/domains/roger-reviewer/case-statement-error-handling-troubleshooting.md +115 -0
  286. package/embedded-knowledge/domains/roger-reviewer/compound-statement-readability.md +124 -0
  287. package/embedded-knowledge/domains/roger-reviewer/lonely-repeat-statement-pattern.md +110 -0
  288. package/embedded-knowledge/domains/roger-reviewer/samples/al-begin-end-blocks.md +438 -0
  289. package/embedded-knowledge/domains/roger-reviewer/samples/al-binary-operator-spacing.md +255 -0
  290. package/embedded-knowledge/domains/roger-reviewer/samples/al-comment-spacing-standards.md +209 -0
  291. package/embedded-knowledge/domains/roger-reviewer/samples/al-keyword-indentation-rules.md +218 -0
  292. package/embedded-knowledge/domains/roger-reviewer/samples/al-line-start-keyword-positioning.md +218 -0
  293. package/embedded-knowledge/domains/roger-reviewer/samples/al-separate-if-else-formatting.md +280 -0
  294. package/embedded-knowledge/domains/roger-reviewer/samples/al-statement-per-line-rule.md +188 -0
  295. package/embedded-knowledge/domains/roger-reviewer/samples/al-unnecessary-else-elimination.md +245 -0
  296. package/embedded-knowledge/domains/roger-reviewer/samples/al-variable-declaration-order.md +244 -0
  297. package/embedded-knowledge/domains/roger-reviewer/samples/begin-end-positioning.md +278 -0
  298. package/embedded-knowledge/domains/roger-reviewer/samples/boolean-simplification-examples.md +484 -0
  299. package/embedded-knowledge/domains/roger-reviewer/samples/case-error-handling.md +64 -0
  300. package/embedded-knowledge/domains/roger-reviewer/samples/compound-statement-readability.md +107 -0
  301. package/embedded-knowledge/domains/roger-reviewer/samples/lonely-repeat-examples.md +280 -0
  302. package/embedded-knowledge/domains/sam-coder/al-formatting-consistency-patterns.md +75 -0
  303. package/embedded-knowledge/domains/sam-coder/al-line-comment-formatting.md +67 -0
  304. package/embedded-knowledge/domains/sam-coder/al-lonely-repeat-pattern.md +76 -0
  305. package/embedded-knowledge/domains/sam-coder/al-named-parameter-pattern.md +98 -0
  306. package/embedded-knowledge/domains/sam-coder/al-object-navigation-shortcuts.md +128 -0
  307. package/embedded-knowledge/domains/sam-coder/al-readability-optimization.md +75 -0
  308. package/embedded-knowledge/domains/sam-coder/al-record-find-early-exit.md +95 -0
  309. package/embedded-knowledge/domains/sam-coder/command-queue-pattern-al.md +141 -0
  310. package/embedded-knowledge/domains/sam-coder/deleteall-alternative-implementation.md +91 -0
  311. package/embedded-knowledge/domains/sam-coder/deleteall-method-usage.md +118 -0
  312. package/embedded-knowledge/domains/sam-coder/deleteall-trigger-execution.md +111 -0
  313. package/embedded-knowledge/domains/sam-coder/event-bridge-pattern-al.md +113 -0
  314. package/embedded-knowledge/domains/sam-coder/event-payload-design-patterns.md +127 -0
  315. package/embedded-knowledge/domains/sam-coder/generic-method-patterns-al.md +141 -0
  316. package/embedded-knowledge/domains/sam-coder/manual-binding-conditional-subscribers.md +66 -0
  317. package/embedded-knowledge/domains/sam-coder/nested-compound-best-practices.md +96 -0
  318. package/embedded-knowledge/domains/sam-coder/samples/al-blank-line-organization.md +161 -0
  319. package/embedded-knowledge/domains/sam-coder/samples/al-case-action-formatting.md +177 -0
  320. package/embedded-knowledge/domains/sam-coder/samples/al-lonely-repeat-pattern.md +239 -0
  321. package/embedded-knowledge/domains/sam-coder/samples/al-named-parameter-pattern.md +346 -0
  322. package/embedded-knowledge/domains/sam-coder/samples/al-record-find-early-exit.md +298 -0
  323. package/embedded-knowledge/domains/sam-coder/samples/command-queue-pattern.md +677 -0
  324. package/embedded-knowledge/domains/sam-coder/samples/deleteall-alternative-implementation.md +117 -0
  325. package/embedded-knowledge/domains/sam-coder/samples/deleteall-triggers.md +75 -0
  326. package/embedded-knowledge/domains/sam-coder/samples/deleteall-usage.md +169 -0
  327. package/embedded-knowledge/domains/sam-coder/samples/event-bridge-pattern.md +399 -0
  328. package/embedded-knowledge/domains/sam-coder/samples/event-payload-design.md +356 -0
  329. package/embedded-knowledge/domains/sam-coder/samples/generic-method-patterns.md +889 -0
  330. package/embedded-knowledge/domains/sam-coder/samples/manual-binding.md +84 -0
  331. package/embedded-knowledge/domains/sam-coder/samples/nested-compound-best-practices.md +127 -0
  332. package/embedded-knowledge/domains/sam-coder/samples/single-to-compound-conversion.md +89 -0
  333. package/embedded-knowledge/domains/sam-coder/samples/template-method-pattern.md +516 -0
  334. package/embedded-knowledge/domains/sam-coder/samples/testfield-patterns.md +61 -0
  335. package/embedded-knowledge/domains/sam-coder/samples/type-safe-operations.md +427 -0
  336. package/embedded-knowledge/domains/sam-coder/single-to-compound-conversion.md +122 -0
  337. package/embedded-knowledge/domains/sam-coder/template-method-pattern-al.md +96 -0
  338. package/embedded-knowledge/domains/sam-coder/testfield-patterns.md +101 -0
  339. package/embedded-knowledge/domains/sam-coder/type-safe-operations-al.md +149 -0
  340. package/embedded-knowledge/domains/sam-coder/vs-code-al-keyboard-shortcuts.md +107 -0
  341. package/embedded-knowledge/domains/seth-security/al-temporary-table-safety.md +95 -0
  342. package/embedded-knowledge/domains/seth-security/api-permission-model.md +115 -0
  343. package/embedded-knowledge/domains/seth-security/istemporary-safeguard-pattern.md +78 -0
  344. package/embedded-knowledge/domains/seth-security/samples/al-temporary-table-safety.md +373 -0
  345. package/embedded-knowledge/domains/seth-security/samples/api-permission-model.md +308 -0
  346. package/embedded-knowledge/domains/taylor-docs/al-xml-documentation-structure.md +79 -0
  347. package/embedded-knowledge/domains/uma-ux/bc-action-shortcuts-syntax.md +78 -0
  348. package/embedded-knowledge/domains/uma-ux/shortcut-key-user-experience-design.md +81 -0
  349. package/embedded-knowledge/indexes/bc-version-matrix.json +188 -0
  350. package/embedded-knowledge/indexes/domain-catalog.json +106 -0
  351. package/embedded-knowledge/indexes/tags/abbreviations.json +1 -0
  352. package/embedded-knowledge/indexes/tags/abstraction.json +1 -0
  353. package/embedded-knowledge/indexes/tags/access-control.json +1 -0
  354. package/embedded-knowledge/indexes/tags/accessibility.json +1 -0
  355. package/embedded-knowledge/indexes/tags/actions.json +1 -0
  356. package/embedded-knowledge/indexes/tags/advanced-patterns.json +1 -0
  357. package/embedded-knowledge/indexes/tags/advanced.json +1 -0
  358. package/embedded-knowledge/indexes/tags/al-extension.json +1 -0
  359. package/embedded-knowledge/indexes/tags/al-generics.json +1 -0
  360. package/embedded-knowledge/indexes/tags/al-objects.json +1 -0
  361. package/embedded-knowledge/indexes/tags/al-syntax.json +1 -0
  362. package/embedded-knowledge/indexes/tags/algorithm-structure.json +1 -0
  363. package/embedded-knowledge/indexes/tags/alternatives.json +1 -0
  364. package/embedded-knowledge/indexes/tags/analytics.json +1 -0
  365. package/embedded-knowledge/indexes/tags/api-delegates.json +1 -0
  366. package/embedded-knowledge/indexes/tags/api-design.json +1 -0
  367. package/embedded-knowledge/indexes/tags/api-documentation.json +1 -0
  368. package/embedded-knowledge/indexes/tags/api-endpoints.json +1 -0
  369. package/embedded-knowledge/indexes/tags/api-extensibility.json +1 -0
  370. package/embedded-knowledge/indexes/tags/api-fieldsets.json +1 -0
  371. package/embedded-knowledge/indexes/tags/api-integration.json +1 -0
  372. package/embedded-knowledge/indexes/tags/api-interfaces.json +1 -0
  373. package/embedded-knowledge/indexes/tags/api-optimization.json +1 -0
  374. package/embedded-knowledge/indexes/tags/api-pages.json +1 -0
  375. package/embedded-knowledge/indexes/tags/api-patterns.json +1 -0
  376. package/embedded-knowledge/indexes/tags/api-permissions.json +1 -0
  377. package/embedded-knowledge/indexes/tags/api-responses.json +1 -0
  378. package/embedded-knowledge/indexes/tags/api-simplification.json +1 -0
  379. package/embedded-knowledge/indexes/tags/api.json +1 -0
  380. package/embedded-knowledge/indexes/tags/architecture.json +1 -0
  381. package/embedded-knowledge/indexes/tags/async-patterns.json +1 -0
  382. package/embedded-knowledge/indexes/tags/async-processing.json +1 -0
  383. package/embedded-knowledge/indexes/tags/automatic-registration.json +1 -0
  384. package/embedded-knowledge/indexes/tags/batch-operations.json +1 -0
  385. package/embedded-knowledge/indexes/tags/bc24-migration.json +1 -0
  386. package/embedded-knowledge/indexes/tags/begin-blocks.json +1 -0
  387. package/embedded-knowledge/indexes/tags/begin-end.json +1 -0
  388. package/embedded-knowledge/indexes/tags/behavioral-patterns.json +1 -0
  389. package/embedded-knowledge/indexes/tags/best-practices.json +1 -0
  390. package/embedded-knowledge/indexes/tags/binding.json +1 -0
  391. package/embedded-knowledge/indexes/tags/block-structure.json +1 -0
  392. package/embedded-knowledge/indexes/tags/blocks.json +1 -0
  393. package/embedded-knowledge/indexes/tags/boolean-expressions.json +1 -0
  394. package/embedded-knowledge/indexes/tags/branching.json +1 -0
  395. package/embedded-knowledge/indexes/tags/breaking-changes.json +1 -0
  396. package/embedded-knowledge/indexes/tags/breakpoints.json +1 -0
  397. package/embedded-knowledge/indexes/tags/business-foundation.json +1 -0
  398. package/embedded-knowledge/indexes/tags/business-infrastructure.json +1 -0
  399. package/embedded-knowledge/indexes/tags/business-process.json +1 -0
  400. package/embedded-knowledge/indexes/tags/business-rules.json +1 -0
  401. package/embedded-knowledge/indexes/tags/caching.json +1 -0
  402. package/embedded-knowledge/indexes/tags/case-statements.json +1 -0
  403. package/embedded-knowledge/indexes/tags/case.json +1 -0
  404. package/embedded-knowledge/indexes/tags/code-analysis.json +1 -0
  405. package/embedded-knowledge/indexes/tags/code-clarity.json +1 -0
  406. package/embedded-knowledge/indexes/tags/code-comprehension.json +1 -0
  407. package/embedded-knowledge/indexes/tags/code-conversion.json +1 -0
  408. package/embedded-knowledge/indexes/tags/code-formatting.json +1 -0
  409. package/embedded-knowledge/indexes/tags/code-organization.json +1 -0
  410. package/embedded-knowledge/indexes/tags/code-patterns.json +1 -0
  411. package/embedded-knowledge/indexes/tags/code-quality.json +1 -0
  412. package/embedded-knowledge/indexes/tags/code-reuse.json +1 -0
  413. package/embedded-knowledge/indexes/tags/code-simplification.json +1 -0
  414. package/embedded-knowledge/indexes/tags/code-standards.json +1 -0
  415. package/embedded-knowledge/indexes/tags/code-structure.json +1 -0
  416. package/embedded-knowledge/indexes/tags/code-style.json +1 -0
  417. package/embedded-knowledge/indexes/tags/codeunit-design.json +1 -0
  418. package/embedded-knowledge/indexes/tags/command-queue.json +1 -0
  419. package/embedded-knowledge/indexes/tags/comments.json +1 -0
  420. package/embedded-knowledge/indexes/tags/compile-time-validation.json +1 -0
  421. package/embedded-knowledge/indexes/tags/complex-facade.json +1 -0
  422. package/embedded-knowledge/indexes/tags/complexity-hiding.json +1 -0
  423. package/embedded-knowledge/indexes/tags/complexity-management.json +1 -0
  424. package/embedded-knowledge/indexes/tags/compound-statements.json +1 -0
  425. package/embedded-knowledge/indexes/tags/concurrency.json +1 -0
  426. package/embedded-knowledge/indexes/tags/conditional-logic.json +1 -0
  427. package/embedded-knowledge/indexes/tags/conditional.json +1 -0
  428. package/embedded-knowledge/indexes/tags/conflict-resolution.json +1 -0
  429. package/embedded-knowledge/indexes/tags/consistency.json +1 -0
  430. package/embedded-knowledge/indexes/tags/contract-design.json +1 -0
  431. package/embedded-knowledge/indexes/tags/control-flow.json +1 -0
  432. package/embedded-knowledge/indexes/tags/conversion-guide.json +1 -0
  433. package/embedded-knowledge/indexes/tags/correlation.json +1 -0
  434. package/embedded-knowledge/indexes/tags/custom-messages.json +1 -0
  435. package/embedded-knowledge/indexes/tags/data-access.json +1 -0
  436. package/embedded-knowledge/indexes/tags/data-exposure.json +1 -0
  437. package/embedded-knowledge/indexes/tags/data-integrity.json +1 -0
  438. package/embedded-knowledge/indexes/tags/data-loading.json +1 -0
  439. package/embedded-knowledge/indexes/tags/data-manipulation.json +1 -0
  440. package/embedded-knowledge/indexes/tags/data-modeling.json +1 -0
  441. package/embedded-knowledge/indexes/tags/data-patterns.json +1 -0
  442. package/embedded-knowledge/indexes/tags/data-protection.json +1 -0
  443. package/embedded-knowledge/indexes/tags/data-validation.json +1 -0
  444. package/embedded-knowledge/indexes/tags/database.json +1 -0
  445. package/embedded-knowledge/indexes/tags/debugging.json +1 -0
  446. package/embedded-knowledge/indexes/tags/decision-making.json +1 -0
  447. package/embedded-knowledge/indexes/tags/declaration.json +1 -0
  448. package/embedded-knowledge/indexes/tags/default-messages.json +1 -0
  449. package/embedded-knowledge/indexes/tags/defensive-programming.json +1 -0
  450. package/embedded-knowledge/indexes/tags/deleteall.json +1 -0
  451. package/embedded-knowledge/indexes/tags/dependencies.json +1 -0
  452. package/embedded-knowledge/indexes/tags/deployment.json +1 -0
  453. package/embedded-knowledge/indexes/tags/developer-productivity.json +1 -0
  454. package/embedded-knowledge/indexes/tags/development-workflow.json +1 -0
  455. package/embedded-knowledge/indexes/tags/diagnostics.json +1 -0
  456. package/embedded-knowledge/indexes/tags/dimensions.json +1 -0
  457. package/embedded-knowledge/indexes/tags/documentation.json +1 -0
  458. package/embedded-knowledge/indexes/tags/early-exit.json +1 -0
  459. package/embedded-knowledge/indexes/tags/else-clauses.json +1 -0
  460. package/embedded-knowledge/indexes/tags/end-statements.json +1 -0
  461. package/embedded-knowledge/indexes/tags/enterprise-patterns.json +1 -0
  462. package/embedded-knowledge/indexes/tags/entity-relationships.json +1 -0
  463. package/embedded-knowledge/indexes/tags/error-handling.json +1 -0
  464. package/embedded-knowledge/indexes/tags/error-messages.json +1 -0
  465. package/embedded-knowledge/indexes/tags/error-prevention.json +1 -0
  466. package/embedded-knowledge/indexes/tags/error-text.json +1 -0
  467. package/embedded-knowledge/indexes/tags/etag.json +1 -0
  468. package/embedded-knowledge/indexes/tags/event-bridge.json +1 -0
  469. package/embedded-knowledge/indexes/tags/event-payload.json +1 -0
  470. package/embedded-knowledge/indexes/tags/event-routing.json +1 -0
  471. package/embedded-knowledge/indexes/tags/events.json +1 -0
  472. package/embedded-knowledge/indexes/tags/execution-flow.json +1 -0
  473. package/embedded-knowledge/indexes/tags/expressions.json +1 -0
  474. package/embedded-knowledge/indexes/tags/extensibility.json +1 -0
  475. package/embedded-knowledge/indexes/tags/extensions.json +1 -0
  476. package/embedded-knowledge/indexes/tags/facade-composition.json +1 -0
  477. package/embedded-knowledge/indexes/tags/facade-pattern.json +1 -0
  478. package/embedded-knowledge/indexes/tags/field-control.json +1 -0
  479. package/embedded-knowledge/indexes/tags/field-exclusion.json +1 -0
  480. package/embedded-knowledge/indexes/tags/field-registration.json +1 -0
  481. package/embedded-knowledge/indexes/tags/field-state.json +1 -0
  482. package/embedded-knowledge/indexes/tags/field-validation.json +1 -0
  483. package/embedded-knowledge/indexes/tags/fielderror.json +1 -0
  484. package/embedded-knowledge/indexes/tags/fields.json +1 -0
  485. package/embedded-knowledge/indexes/tags/filtering.json +1 -0
  486. package/embedded-knowledge/indexes/tags/filters.json +1 -0
  487. package/embedded-knowledge/indexes/tags/formatting.json +1 -0
  488. package/embedded-knowledge/indexes/tags/generic-methods.json +1 -0
  489. package/embedded-knowledge/indexes/tags/http-status.json +1 -0
  490. package/embedded-knowledge/indexes/tags/if-statements.json +1 -0
  491. package/embedded-knowledge/indexes/tags/implementation.json +1 -0
  492. package/embedded-knowledge/indexes/tags/indentation.json +1 -0
  493. package/embedded-knowledge/indexes/tags/index-summary.json +277 -0
  494. package/embedded-knowledge/indexes/tags/indexing.json +1 -0
  495. package/embedded-knowledge/indexes/tags/inheritance.json +1 -0
  496. package/embedded-knowledge/indexes/tags/integration.json +1 -0
  497. package/embedded-knowledge/indexes/tags/integrity-checking.json +1 -0
  498. package/embedded-knowledge/indexes/tags/intellisense.json +1 -0
  499. package/embedded-knowledge/indexes/tags/interface-design.json +1 -0
  500. package/embedded-knowledge/indexes/tags/interface-segregation.json +1 -0
  501. package/embedded-knowledge/indexes/tags/isolation.json +1 -0
  502. package/embedded-knowledge/indexes/tags/job-processing.json +1 -0
  503. package/embedded-knowledge/indexes/tags/keyboard-navigation.json +1 -0
  504. package/embedded-knowledge/indexes/tags/keywords.json +1 -0
  505. package/embedded-knowledge/indexes/tags/legacy-modernization.json +1 -0
  506. package/embedded-knowledge/indexes/tags/line-breaks.json +1 -0
  507. package/embedded-knowledge/indexes/tags/line-organization.json +1 -0
  508. package/embedded-knowledge/indexes/tags/line-positioning.json +1 -0
  509. package/embedded-knowledge/indexes/tags/localization.json +1 -0
  510. package/embedded-knowledge/indexes/tags/logging.json +1 -0
  511. package/embedded-knowledge/indexes/tags/loose-coupling.json +1 -0
  512. package/embedded-knowledge/indexes/tags/maintainability.json +1 -0
  513. package/embedded-knowledge/indexes/tags/memory-management.json +1 -0
  514. package/embedded-knowledge/indexes/tags/memory-optimization.json +1 -0
  515. package/embedded-knowledge/indexes/tags/memory.json +1 -0
  516. package/embedded-knowledge/indexes/tags/message-design.json +1 -0
  517. package/embedded-knowledge/indexes/tags/message-formatting.json +1 -0
  518. package/embedded-knowledge/indexes/tags/message-patterns.json +1 -0
  519. package/embedded-knowledge/indexes/tags/metadata-driven.json +1 -0
  520. package/embedded-knowledge/indexes/tags/method-comparison.json +1 -0
  521. package/embedded-knowledge/indexes/tags/module-architecture.json +1 -0
  522. package/embedded-knowledge/indexes/tags/module-validation.json +1 -0
  523. package/embedded-knowledge/indexes/tags/monitoring.json +1 -0
  524. package/embedded-knowledge/indexes/tags/multi-layer-facade.json +1 -0
  525. package/embedded-knowledge/indexes/tags/multi-tenancy.json +1 -0
  526. package/embedded-knowledge/indexes/tags/multiple-values.json +1 -0
  527. package/embedded-knowledge/indexes/tags/naming-conventions.json +1 -0
  528. package/embedded-knowledge/indexes/tags/naming.json +1 -0
  529. package/embedded-knowledge/indexes/tags/navigation.json +1 -0
  530. package/embedded-knowledge/indexes/tags/nested-statements.json +1 -0
  531. package/embedded-knowledge/indexes/tags/no-series-conversion.json +1 -0
  532. package/embedded-knowledge/indexes/tags/no-series-validation.json +1 -0
  533. package/embedded-knowledge/indexes/tags/no-series.json +1 -0
  534. package/embedded-knowledge/indexes/tags/number-generation.json +1 -0
  535. package/embedded-knowledge/indexes/tags/object-documentation.json +1 -0
  536. package/embedded-knowledge/indexes/tags/odata.json +1 -0
  537. package/embedded-knowledge/indexes/tags/ondelete.json +1 -0
  538. package/embedded-knowledge/indexes/tags/onvalidate.json +1 -0
  539. package/embedded-knowledge/indexes/tags/operation-delegation.json +1 -0
  540. package/embedded-knowledge/indexes/tags/operation-safety.json +1 -0
  541. package/embedded-knowledge/indexes/tags/operators.json +1 -0
  542. package/embedded-knowledge/indexes/tags/optimization.json +1 -0
  543. package/embedded-knowledge/indexes/tags/order.json +1 -0
  544. package/embedded-knowledge/indexes/tags/organization.json +1 -0
  545. package/embedded-knowledge/indexes/tags/pages.json +1 -0
  546. package/embedded-knowledge/indexes/tags/parameters.json +1 -0
  547. package/embedded-knowledge/indexes/tags/patterns.json +1 -0
  548. package/embedded-knowledge/indexes/tags/performance-optimization.json +1 -0
  549. package/embedded-knowledge/indexes/tags/performance.json +1 -0
  550. package/embedded-knowledge/indexes/tags/placement.json +1 -0
  551. package/embedded-knowledge/indexes/tags/posting-codeunits.json +1 -0
  552. package/embedded-knowledge/indexes/tags/posting.json +1 -0
  553. package/embedded-knowledge/indexes/tags/preconditions.json +1 -0
  554. package/embedded-knowledge/indexes/tags/primary-key.json +1 -0
  555. package/embedded-knowledge/indexes/tags/privacy.json +1 -0
  556. package/embedded-knowledge/indexes/tags/process-automation.json +1 -0
  557. package/embedded-knowledge/indexes/tags/production.json +1 -0
  558. package/embedded-knowledge/indexes/tags/productivity.json +1 -0
  559. package/embedded-knowledge/indexes/tags/query-performance.json +1 -0
  560. package/embedded-knowledge/indexes/tags/queue-management.json +1 -0
  561. package/embedded-knowledge/indexes/tags/ranges.json +1 -0
  562. package/embedded-knowledge/indexes/tags/readability.json +1 -0
  563. package/embedded-knowledge/indexes/tags/record-access.json +1 -0
  564. package/embedded-knowledge/indexes/tags/record-methods.json +1 -0
  565. package/embedded-knowledge/indexes/tags/refactoring.json +1 -0
  566. package/embedded-knowledge/indexes/tags/reference.json +1 -0
  567. package/embedded-knowledge/indexes/tags/repeat-loops.json +1 -0
  568. package/embedded-knowledge/indexes/tags/repeat-statement.json +1 -0
  569. package/embedded-knowledge/indexes/tags/runtime-errors.json +1 -0
  570. package/embedded-knowledge/indexes/tags/runtime.json +1 -0
  571. package/embedded-knowledge/indexes/tags/safeguards.json +1 -0
  572. package/embedded-knowledge/indexes/tags/security.json +1 -0
  573. package/embedded-knowledge/indexes/tags/sequence-management.json +1 -0
  574. package/embedded-knowledge/indexes/tags/serialization.json +1 -0
  575. package/embedded-knowledge/indexes/tags/session-logmessage.json +1 -0
  576. package/embedded-knowledge/indexes/tags/session.json +1 -0
  577. package/embedded-knowledge/indexes/tags/setloadfields.json +1 -0
  578. package/embedded-knowledge/indexes/tags/shortcuts.json +1 -0
  579. package/embedded-knowledge/indexes/tags/sift.json +1 -0
  580. package/embedded-knowledge/indexes/tags/singleinstance.json +1 -0
  581. package/embedded-knowledge/indexes/tags/spacing.json +1 -0
  582. package/embedded-knowledge/indexes/tags/sql-translation.json +1 -0
  583. package/embedded-knowledge/indexes/tags/standards.json +1 -0
  584. package/embedded-knowledge/indexes/tags/statements.json +1 -0
  585. package/embedded-knowledge/indexes/tags/streaming.json +1 -0
  586. package/embedded-knowledge/indexes/tags/strong-typing.json +1 -0
  587. package/embedded-knowledge/indexes/tags/structural-patterns.json +1 -0
  588. package/embedded-knowledge/indexes/tags/structure.json +1 -0
  589. package/embedded-knowledge/indexes/tags/subscribers.json +1 -0
  590. package/embedded-knowledge/indexes/tags/switch.json +1 -0
  591. package/embedded-knowledge/indexes/tags/symbol-search.json +1 -0
  592. package/embedded-knowledge/indexes/tags/syntax.json +1 -0
  593. package/embedded-knowledge/indexes/tags/systemid.json +1 -0
  594. package/embedded-knowledge/indexes/tags/table-configuration.json +1 -0
  595. package/embedded-knowledge/indexes/tags/table-events.json +1 -0
  596. package/embedded-knowledge/indexes/tags/table-keys.json +1 -0
  597. package/embedded-knowledge/indexes/tags/table-safety.json +1 -0
  598. package/embedded-knowledge/indexes/tags/task-scheduler.json +1 -0
  599. package/embedded-knowledge/indexes/tags/telemetry.json +1 -0
  600. package/embedded-knowledge/indexes/tags/template-method.json +1 -0
  601. package/embedded-knowledge/indexes/tags/temporary-tables.json +1 -0
  602. package/embedded-knowledge/indexes/tags/testfield.json +1 -0
  603. package/embedded-knowledge/indexes/tags/tradeoffs.json +1 -0
  604. package/embedded-knowledge/indexes/tags/triggers.json +1 -0
  605. package/embedded-knowledge/indexes/tags/troubleshooting.json +1 -0
  606. package/embedded-knowledge/indexes/tags/type-safety.json +1 -0
  607. package/embedded-knowledge/indexes/tags/url-structure.json +1 -0
  608. package/embedded-knowledge/indexes/tags/user-experience.json +1 -0
  609. package/embedded-knowledge/indexes/tags/user-feedback.json +1 -0
  610. package/embedded-knowledge/indexes/tags/user-interface.json +1 -0
  611. package/embedded-knowledge/indexes/tags/validation-feedback.json +1 -0
  612. package/embedded-knowledge/indexes/tags/validation.json +1 -0
  613. package/embedded-knowledge/indexes/tags/variables.json +1 -0
  614. package/embedded-knowledge/indexes/tags/verbosity.json +1 -0
  615. package/embedded-knowledge/indexes/tags/vs-code.json +1 -0
  616. package/embedded-knowledge/indexes/tags/web-services.json +1 -0
  617. package/embedded-knowledge/indexes/tags/workflow-management.json +1 -0
  618. package/embedded-knowledge/indexes/tags/workflow-optimization.json +1 -0
  619. package/embedded-knowledge/indexes/tags/workflow-templates.json +1 -0
  620. package/embedded-knowledge/indexes/tags/workspace.json +1 -0
  621. package/embedded-knowledge/indexes/tags/xml-documentation.json +1 -0
  622. package/embedded-knowledge/indexes/topic-relationships.json +128 -0
  623. package/embedded-knowledge/methodologies/index.json +81 -0
  624. package/embedded-knowledge/methodologies/phases/analysis-full.md +208 -0
  625. package/embedded-knowledge/methodologies/phases/analysis-quick.md +44 -0
  626. package/embedded-knowledge/methodologies/phases/analysis.md +182 -0
  627. package/embedded-knowledge/methodologies/phases/execution-validation-full.md +174 -0
  628. package/embedded-knowledge/methodologies/phases/execution-validation-quick.md +31 -0
  629. package/embedded-knowledge/methodologies/phases/execution-validation.md +174 -0
  630. package/embedded-knowledge/methodologies/phases/performance-full.md +211 -0
  631. package/embedded-knowledge/methodologies/phases/performance-quick.md +32 -0
  632. package/embedded-knowledge/methodologies/phases/performance.md +211 -0
  633. package/embedded-knowledge/methodologies/phases/verification-full.md +162 -0
  634. package/embedded-knowledge/methodologies/phases/verification-quick.md +48 -0
  635. package/embedded-knowledge/methodologies/phases/verification.md +146 -0
  636. package/embedded-knowledge/methodologies/workflow-enforcement.md +142 -0
  637. package/embedded-knowledge/methodologies/workflows/code-review-workflow.md +99 -0
  638. package/package.json +74 -0
@@ -0,0 +1,7 @@
1
+ // Type exports for BC Code Intelligence MCP server
2
+ export * from './bc-knowledge.js';
3
+ // Export layer types with prefixes to avoid conflicts
4
+ export * from './layer-types.js';
5
+ // Export config types (these take precedence for configuration system)
6
+ export { LayerSourceType, AuthType, DEFAULT_BC_CODE_INTEL_CONFIG, ENV_VAR_MAPPINGS } from './config-types.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAEnD,cAAc,mBAAmB,CAAC;AAElC,sDAAsD;AACtD,cAAc,kBAAkB,CAAC;AAEjC,uEAAuE;AACvE,OAAO,EACL,eAAe,EACf,QAAQ,EACR,4BAA4B,EAC5B,gBAAgB,EACjB,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,171 @@
1
+ /**
2
+ * Layer System Types
3
+ *
4
+ * Defines interfaces for the layered knowledge architecture where different
5
+ * sources can provide and override knowledge content.
6
+ */
7
+ import { AtomicTopic } from './bc-knowledge.js';
8
+ /**
9
+ * Layer priorities - lower numbers = higher priority (override earlier layers)
10
+ */
11
+ export declare const enum LayerPriority {
12
+ EMBEDDED = 0,// Embedded knowledge from submodule (base layer)
13
+ COMPANY = 100,// Company-wide standards from git repo
14
+ TEAM = 200,// Team-specific overrides from git repo
15
+ PROJECT = 300
16
+ }
17
+ /**
18
+ * Layer source configuration
19
+ */
20
+ export interface LayerSource {
21
+ name: string;
22
+ priority: LayerPriority;
23
+ type: 'embedded' | 'git' | 'local' | 'http';
24
+ enabled: boolean;
25
+ }
26
+ /**
27
+ * Embedded layer source (git submodule)
28
+ */
29
+ export interface EmbeddedLayerSource extends LayerSource {
30
+ type: 'embedded';
31
+ path: string;
32
+ }
33
+ /**
34
+ * Git repository layer source
35
+ */
36
+ export interface GitLayerSource extends LayerSource {
37
+ type: 'git';
38
+ url: string;
39
+ branch?: string;
40
+ path?: string;
41
+ credentials?: {
42
+ username?: string;
43
+ token?: string;
44
+ };
45
+ }
46
+ /**
47
+ * Local directory layer source
48
+ */
49
+ export interface LocalLayerSource extends LayerSource {
50
+ type: 'local';
51
+ path: string;
52
+ }
53
+ /**
54
+ * HTTP endpoint layer source
55
+ */
56
+ export interface HttpLayerSource extends LayerSource {
57
+ type: 'http';
58
+ baseUrl: string;
59
+ headers?: Record<string, string>;
60
+ }
61
+ /**
62
+ * Union of all layer source types
63
+ */
64
+ export type AnyLayerSource = EmbeddedLayerSource | GitLayerSource | LocalLayerSource | HttpLayerSource;
65
+ /**
66
+ * Layer resolution result
67
+ */
68
+ export interface LayerResolutionResult {
69
+ topic: AtomicTopic;
70
+ sourceLayer: string;
71
+ isOverride: boolean;
72
+ overriddenLayers: string[];
73
+ }
74
+ /**
75
+ * Layer loading result
76
+ */
77
+ export interface LayerLoadResult {
78
+ layerName: string;
79
+ success: boolean;
80
+ topicsLoaded: number;
81
+ indexesLoaded: number;
82
+ error?: string;
83
+ loadTimeMs: number;
84
+ }
85
+ /**
86
+ * Base interface for knowledge layer implementations
87
+ */
88
+ export interface IKnowledgeLayer {
89
+ readonly name: string;
90
+ readonly priority: LayerPriority;
91
+ readonly enabled: boolean;
92
+ /**
93
+ * Initialize the layer (load topics, indexes, etc.)
94
+ */
95
+ initialize(): Promise<LayerLoadResult>;
96
+ /**
97
+ * Check if the layer has a specific topic
98
+ */
99
+ hasTopic(topicId: string): boolean;
100
+ /**
101
+ * Get a topic from this layer
102
+ */
103
+ getTopic(topicId: string): Promise<AtomicTopic | null>;
104
+ /**
105
+ * Get a topic from this layer synchronously (for already loaded topics)
106
+ */
107
+ getTopicSync(topicId: string): AtomicTopic | null;
108
+ /**
109
+ * Get all topic IDs available in this layer
110
+ */
111
+ getTopicIds(): string[];
112
+ /**
113
+ * Search for topics within this layer
114
+ */
115
+ searchTopics(query: string, limit?: number): AtomicTopic[];
116
+ /**
117
+ * Get layer statistics
118
+ */
119
+ getStatistics(): LayerStatistics;
120
+ /**
121
+ * Cleanup resources
122
+ */
123
+ dispose(): Promise<void>;
124
+ }
125
+ /**
126
+ * Layer statistics
127
+ */
128
+ export interface LayerStatistics {
129
+ name: string;
130
+ priority: LayerPriority;
131
+ enabled: boolean;
132
+ topicCount: number;
133
+ indexCount: number;
134
+ lastLoaded?: Date;
135
+ loadTimeMs?: number;
136
+ memoryUsage?: {
137
+ topics: number;
138
+ indexes: number;
139
+ total: number;
140
+ };
141
+ }
142
+ /**
143
+ * Layer system configuration
144
+ */
145
+ export interface LayerSystemConfig {
146
+ layers: AnyLayerSource[];
147
+ defaultSearchLimit: number;
148
+ cacheEnabled: boolean;
149
+ cacheTtlMs: number;
150
+ enableParallelLoading: boolean;
151
+ loadTimeoutMs: number;
152
+ }
153
+ /**
154
+ * Override resolution strategy
155
+ */
156
+ export declare const enum OverrideStrategy {
157
+ REPLACE = "replace",// Higher priority layer completely replaces lower
158
+ MERGE_CONTENT = "merge_content",// Merge markdown content sections
159
+ MERGE_FRONTMATTER = "merge_frontmatter",// Merge YAML frontmatter fields
160
+ APPEND_CONTENT = "append_content"
161
+ }
162
+ /**
163
+ * Override configuration for specific topics or domains
164
+ */
165
+ export interface OverrideConfig {
166
+ topicPattern?: string;
167
+ domain?: string;
168
+ strategy: OverrideStrategy;
169
+ preserveOriginal?: boolean;
170
+ }
171
+ //# sourceMappingURL=layer-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layer-types.d.ts","sourceRoot":"","sources":["../../src/types/layer-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;GAEG;AACH,0BAAkB,aAAa;IAC7B,QAAQ,IAAI,CAAO,iDAAiD;IACpE,OAAO,MAAM,CAAM,uCAAuC;IAC1D,IAAI,MAAM,CAAS,wCAAwC;IAC3D,OAAO,MAAM;CACd;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,UAAU,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;IAC5C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,mBAAmB,GAAG,cAAc,GAAG,gBAAgB,GAAG,eAAe,CAAC;AAEvG;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,WAAW,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAEvD;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;IAElD;;OAEG;IACH,WAAW,IAAI,MAAM,EAAE,CAAC;IAExB;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;IAE3D;;OAEG;IACH,aAAa,IAAI,eAAe,CAAC;IAEjC;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,0BAAkB,gBAAgB;IAChC,OAAO,YAAY,CAAY,kDAAkD;IACjF,aAAa,kBAAkB,CAAE,kCAAkC;IACnE,iBAAiB,sBAAsB,CAAE,gCAAgC;IACzE,cAAc,mBAAmB;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Layer System Types
3
+ *
4
+ * Defines interfaces for the layered knowledge architecture where different
5
+ * sources can provide and override knowledge content.
6
+ */
7
+ /**
8
+ * Layer priorities - lower numbers = higher priority (override earlier layers)
9
+ */
10
+ export var LayerPriority;
11
+ (function (LayerPriority) {
12
+ LayerPriority[LayerPriority["EMBEDDED"] = 0] = "EMBEDDED";
13
+ LayerPriority[LayerPriority["COMPANY"] = 100] = "COMPANY";
14
+ LayerPriority[LayerPriority["TEAM"] = 200] = "TEAM";
15
+ LayerPriority[LayerPriority["PROJECT"] = 300] = "PROJECT"; // Project-local overrides from ./bc-code-intel-overrides/
16
+ })(LayerPriority || (LayerPriority = {}));
17
+ /**
18
+ * Override resolution strategy
19
+ */
20
+ export var OverrideStrategy;
21
+ (function (OverrideStrategy) {
22
+ OverrideStrategy["REPLACE"] = "replace";
23
+ OverrideStrategy["MERGE_CONTENT"] = "merge_content";
24
+ OverrideStrategy["MERGE_FRONTMATTER"] = "merge_frontmatter";
25
+ OverrideStrategy["APPEND_CONTENT"] = "append_content"; // Append content to existing topic
26
+ })(OverrideStrategy || (OverrideStrategy = {}));
27
+ //# sourceMappingURL=layer-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layer-types.js","sourceRoot":"","sources":["../../src/types/layer-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,CAAN,IAAkB,aAKjB;AALD,WAAkB,aAAa;IAC7B,yDAAY,CAAA;IACZ,yDAAa,CAAA;IACb,mDAAU,CAAA;IACV,yDAAa,CAAA,CAAM,0DAA0D;AAC/E,CAAC,EALiB,aAAa,KAAb,aAAa,QAK9B;AA6JD;;GAEG;AACH,MAAM,CAAN,IAAkB,gBAKjB;AALD,WAAkB,gBAAgB;IAChC,uCAAmB,CAAA;IACnB,mDAA+B,CAAA;IAC/B,2DAAuC,CAAA;IACvC,qDAAiC,CAAA,CAAE,mCAAmC;AACxE,CAAC,EALiB,gBAAgB,KAAhB,gBAAgB,QAKjC"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Business Central Specialist Personas
3
+ *
4
+ * Defines the 14 BC specialist personas that guide knowledge discovery
5
+ * and consultation in the Business Central Knowledge Base system.
6
+ */
7
+ export interface BCSpecialist {
8
+ /** Unique specialist identifier (matches domain folder name) */
9
+ id: string;
10
+ /** Human-readable specialist name */
11
+ name: string;
12
+ /** Role description */
13
+ role: string;
14
+ /** Areas of expertise for this specialist */
15
+ expertise_areas: string[];
16
+ /** How this specialist approaches consultation */
17
+ consultation_style: string;
18
+ /** Common questions developers ask this specialist */
19
+ typical_questions: string[];
20
+ /** AI prompting guidance for this specialist's perspective */
21
+ ai_prompting_style: string;
22
+ /** Specialist's preferred communication tone */
23
+ communication_tone: 'analytical' | 'practical' | 'strategic' | 'cautious' | 'creative' | 'systematic';
24
+ }
25
+ export interface SpecialistConsultation {
26
+ topic: any;
27
+ specialist: BCSpecialist;
28
+ consultation_approach: string;
29
+ related_topics: any[];
30
+ expertise_context: string;
31
+ }
32
+ export interface SpecialistResponse {
33
+ specialist: BCSpecialist;
34
+ question: string;
35
+ relevant_knowledge: any[];
36
+ consultation_guidance: string;
37
+ follow_up_suggestions: string[];
38
+ confidence_level: 'high' | 'medium' | 'low';
39
+ }
40
+ /**
41
+ * Complete BC Specialist Registry
42
+ * Based on actual persona folders in knowledge base
43
+ */
44
+ export declare const BC_SPECIALISTS: Record<string, BCSpecialist>;
45
+ /**
46
+ * Persona Registry Implementation
47
+ */
48
+ export declare class PersonaRegistry {
49
+ private static instance;
50
+ private specialists;
51
+ private expertiseIndex;
52
+ constructor();
53
+ static getInstance(): PersonaRegistry;
54
+ /**
55
+ * Get specialist by ID
56
+ */
57
+ getSpecialist(specialistId: string): BCSpecialist | null;
58
+ /**
59
+ * Get all specialists
60
+ */
61
+ getAllSpecialists(): BCSpecialist[];
62
+ /**
63
+ * Find specialists by expertise area
64
+ */
65
+ getSpecialistsByExpertise(expertiseArea: string): BCSpecialist[];
66
+ /**
67
+ * Infer specialist from natural language question
68
+ */
69
+ inferSpecialistFromQuestion(question: string): BCSpecialist | null;
70
+ /**
71
+ * Get specialists that could collaborate on a question
72
+ */
73
+ getCollaboratingSpecialists(primarySpecialist: BCSpecialist, question: string): BCSpecialist[];
74
+ private buildExpertiseIndex;
75
+ private matchesKeywords;
76
+ }
77
+ //# sourceMappingURL=persona-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persona-types.d.ts","sourceRoot":"","sources":["../../src/types/persona-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,YAAY;IAC3B,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAC;IACX,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,kDAAkD;IAClD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,8DAA8D;IAC9D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,kBAAkB,EAAE,YAAY,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,CAAC;CACvG;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,YAAY,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,GAAG,EAAE,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,YAAY,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,GAAG,EAAE,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CAC7C;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAgOvD,CAAC;AAEF;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IACzC,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,cAAc,CAA2B;;IAOjD,MAAM,CAAC,WAAW,IAAI,eAAe;IAOrC;;OAEG;IACH,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAIxD;;OAEG;IACH,iBAAiB,IAAI,YAAY,EAAE;IAInC;;OAEG;IACH,yBAAyB,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,EAAE;IAKhE;;OAEG;IACH,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAwDlE;;OAEG;IACH,2BAA2B,CAAC,iBAAiB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE;IAqB9F,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,eAAe;CAGxB"}
@@ -0,0 +1,341 @@
1
+ /**
2
+ * Business Central Specialist Personas
3
+ *
4
+ * Defines the 14 BC specialist personas that guide knowledge discovery
5
+ * and consultation in the Business Central Knowledge Base system.
6
+ */
7
+ /**
8
+ * Complete BC Specialist Registry
9
+ * Based on actual persona folders in knowledge base
10
+ */
11
+ export const BC_SPECIALISTS = {
12
+ "alex-architect": {
13
+ id: "alex-architect",
14
+ name: "Alex Architect",
15
+ role: "Architecture & Design Specialist",
16
+ expertise_areas: ["data-models", "system-design", "table-relationships", "api-interfaces", "facade-patterns", "complex-patterns"],
17
+ consultation_style: "Strategic architectural guidance focusing on scalability, maintainability, and design patterns",
18
+ typical_questions: [
19
+ "How should I structure my data model?",
20
+ "What's the best table relationship pattern?",
21
+ "How do I design clean API interfaces?",
22
+ "What architectural pattern should I use?"
23
+ ],
24
+ ai_prompting_style: "Focus on high-level design decisions, architectural trade-offs, and long-term maintainability",
25
+ communication_tone: "strategic"
26
+ },
27
+ "dean-debug": {
28
+ id: "dean-debug",
29
+ name: "Dean Debug",
30
+ role: "Performance & Troubleshooting Specialist",
31
+ expertise_areas: ["sift", "performance", "sql-optimization", "telemetry", "debugging", "setloadfields", "deleteall"],
32
+ consultation_style: "Systematic performance analysis with actionable optimization recommendations and debugging strategies",
33
+ typical_questions: [
34
+ "Why is my code slow?",
35
+ "How do I optimize this query?",
36
+ "What's causing this performance issue?",
37
+ "How do I implement SIFT properly?"
38
+ ],
39
+ ai_prompting_style: "Focus on performance metrics, bottleneck identification, optimization techniques, and debugging workflows",
40
+ communication_tone: "analytical"
41
+ },
42
+ "sam-coder": {
43
+ id: "sam-coder",
44
+ name: "Sam Coder",
45
+ role: "Expert Implementation Specialist",
46
+ expertise_areas: ["code-quality", "best-practices", "patterns", "refactoring", "clean-code", "implementation"],
47
+ consultation_style: "Practical implementation guidance focusing on clean, maintainable, and efficient code",
48
+ typical_questions: [
49
+ "What's the best way to implement this?",
50
+ "How do I refactor this code?",
51
+ "Is this implementation following best practices?",
52
+ "How can I make this code cleaner?"
53
+ ],
54
+ ai_prompting_style: "Focus on implementation patterns, code quality principles, and practical development techniques",
55
+ communication_tone: "practical"
56
+ },
57
+ "seth-security": {
58
+ id: "seth-security",
59
+ name: "Seth Security",
60
+ role: "Security & Access Control Specialist",
61
+ expertise_areas: ["permissions", "data-safety", "access-control", "security-patterns", "user-security", "data-protection"],
62
+ consultation_style: "Security-first guidance with focus on data protection, access control, and risk mitigation",
63
+ typical_questions: [
64
+ "How do I secure this data?",
65
+ "What permissions should I set?",
66
+ "Is this approach secure?",
67
+ "How do I implement proper access control?"
68
+ ],
69
+ ai_prompting_style: "Focus on security implications, risk assessment, protection patterns, and compliance considerations",
70
+ communication_tone: "cautious"
71
+ },
72
+ "casey-copilot": {
73
+ id: "casey-copilot",
74
+ name: "Casey Copilot",
75
+ role: "AI Enhancement & Workflow Specialist",
76
+ expertise_areas: ["ai-workflows", "automation", "copilot-optimization", "workflow-patterns", "ai-integration"],
77
+ consultation_style: "AI-powered workflow optimization and automation guidance for enhanced developer productivity",
78
+ typical_questions: [
79
+ "How can AI help with this task?",
80
+ "What workflow should I use?",
81
+ "How do I optimize for AI assistance?",
82
+ "What automation patterns work best?"
83
+ ],
84
+ ai_prompting_style: "Focus on AI-assisted development patterns, workflow optimization, and productivity enhancement",
85
+ communication_tone: "creative"
86
+ },
87
+ "eva-errors": {
88
+ id: "eva-errors",
89
+ name: "Eva Errors",
90
+ role: "Error Handling & Recovery Specialist",
91
+ expertise_areas: ["error-handling", "exception-management", "error-recovery", "validation", "errorinfo-patterns"],
92
+ consultation_style: "Comprehensive error handling strategies focusing on graceful failure and user experience",
93
+ typical_questions: [
94
+ "How should I handle this error?",
95
+ "What's the best error recovery pattern?",
96
+ "How do I validate this properly?",
97
+ "How do I provide good error messages?"
98
+ ],
99
+ ai_prompting_style: "Focus on error scenarios, recovery strategies, user-friendly messaging, and robust validation",
100
+ communication_tone: "systematic"
101
+ },
102
+ "jordan-bridge": {
103
+ id: "jordan-bridge",
104
+ name: "Jordan Bridge",
105
+ role: "Integration & Events Specialist",
106
+ expertise_areas: ["integration", "events", "api-design", "external-systems", "data-exchange", "webhooks"],
107
+ consultation_style: "Integration architecture guidance focusing on reliable data exchange and event-driven patterns",
108
+ typical_questions: [
109
+ "How do I integrate with this system?",
110
+ "What's the best event pattern?",
111
+ "How do I handle data synchronization?",
112
+ "How do I design reliable integrations?"
113
+ ],
114
+ ai_prompting_style: "Focus on integration patterns, event handling, data consistency, and external system communication",
115
+ communication_tone: "systematic"
116
+ },
117
+ "logan-legacy": {
118
+ id: "logan-legacy",
119
+ name: "Logan Legacy",
120
+ role: "Legacy Analysis & Migration Specialist",
121
+ expertise_areas: ["legacy-systems", "migration", "modernization", "compatibility", "upgrade-patterns"],
122
+ consultation_style: "Legacy system analysis and migration strategies with focus on minimizing disruption",
123
+ typical_questions: [
124
+ "How do I migrate this legacy code?",
125
+ "What's the modernization strategy?",
126
+ "How do I maintain compatibility?",
127
+ "What are the migration risks?"
128
+ ],
129
+ ai_prompting_style: "Focus on migration strategies, compatibility concerns, risk mitigation, and modernization approaches",
130
+ communication_tone: "cautious"
131
+ },
132
+ "maya-mentor": {
133
+ id: "maya-mentor",
134
+ name: "Maya Mentor",
135
+ role: "Fundamentals & Learning Specialist",
136
+ expertise_areas: ["fundamentals", "learning", "concepts", "basics", "education", "skill-development"],
137
+ consultation_style: "Educational guidance focusing on building strong foundational knowledge and progressive learning",
138
+ typical_questions: [
139
+ "How do I learn this concept?",
140
+ "What are the fundamentals?",
141
+ "Where should I start?",
142
+ "What's the learning progression?"
143
+ ],
144
+ ai_prompting_style: "Focus on foundational concepts, learning progression, educational examples, and skill building",
145
+ communication_tone: "systematic"
146
+ },
147
+ "morgan-market": {
148
+ id: "morgan-market",
149
+ name: "Morgan Market",
150
+ role: "AppSource & Business Specialist",
151
+ expertise_areas: ["appsource", "business-logic", "market-requirements", "breaking-changes", "business-patterns"],
152
+ consultation_style: "Business-focused guidance for AppSource development and market-ready solutions",
153
+ typical_questions: [
154
+ "How do I prepare for AppSource?",
155
+ "What are the business requirements?",
156
+ "How do I handle breaking changes?",
157
+ "What market patterns should I follow?"
158
+ ],
159
+ ai_prompting_style: "Focus on business requirements, market considerations, AppSource compliance, and commercial viability",
160
+ communication_tone: "strategic"
161
+ },
162
+ "quinn-tester": {
163
+ id: "quinn-tester",
164
+ name: "Quinn Tester",
165
+ role: "Testing & Validation Specialist",
166
+ expertise_areas: ["testing", "validation", "quality-assurance", "test-patterns", "automation", "verification"],
167
+ consultation_style: "Comprehensive testing strategies focusing on quality assurance and automated validation",
168
+ typical_questions: [
169
+ "How should I test this?",
170
+ "What testing pattern should I use?",
171
+ "How do I validate this functionality?",
172
+ "What's the testing strategy?"
173
+ ],
174
+ ai_prompting_style: "Focus on testing methodologies, validation patterns, quality metrics, and automated testing approaches",
175
+ communication_tone: "systematic"
176
+ },
177
+ "roger-reviewer": {
178
+ id: "roger-reviewer",
179
+ name: "Roger Reviewer",
180
+ role: "Code Quality & Standards Specialist",
181
+ expertise_areas: ["code-review", "standards", "formatting", "conventions", "quality-metrics", "maintainability"],
182
+ consultation_style: "Code quality guidance focusing on standards compliance, readability, and maintainability",
183
+ typical_questions: [
184
+ "Does this code meet standards?",
185
+ "How should I format this?",
186
+ "What are the coding conventions?",
187
+ "Is this code maintainable?"
188
+ ],
189
+ ai_prompting_style: "Focus on coding standards, quality metrics, maintainability principles, and review criteria",
190
+ communication_tone: "analytical"
191
+ },
192
+ "taylor-docs": {
193
+ id: "taylor-docs",
194
+ name: "Taylor Docs",
195
+ role: "Documentation & Knowledge Management Specialist",
196
+ expertise_areas: ["documentation", "knowledge-management", "communication", "technical-writing", "information-architecture"],
197
+ consultation_style: "Documentation strategy focusing on clear communication and knowledge preservation",
198
+ typical_questions: [
199
+ "How should I document this?",
200
+ "What's the documentation strategy?",
201
+ "How do I organize knowledge?",
202
+ "What's the best way to communicate this?"
203
+ ],
204
+ ai_prompting_style: "Focus on documentation patterns, knowledge organization, clear communication, and information design",
205
+ communication_tone: "systematic"
206
+ },
207
+ "uma-ux": {
208
+ id: "uma-ux",
209
+ name: "Uma UX",
210
+ role: "User Experience & Interface Specialist",
211
+ expertise_areas: ["user-experience", "interface-design", "usability", "role-centers", "user-interface", "accessibility"],
212
+ consultation_style: "User-centered design guidance focusing on usability, accessibility, and excellent user experience",
213
+ typical_questions: [
214
+ "How do I improve the user experience?",
215
+ "What's the best interface pattern?",
216
+ "How do I make this more usable?",
217
+ "What are the UX best practices?"
218
+ ],
219
+ ai_prompting_style: "Focus on user experience principles, interface design patterns, usability guidelines, and accessibility",
220
+ communication_tone: "creative"
221
+ }
222
+ };
223
+ /**
224
+ * Persona Registry Implementation
225
+ */
226
+ export class PersonaRegistry {
227
+ static instance;
228
+ specialists;
229
+ expertiseIndex;
230
+ constructor() {
231
+ this.specialists = BC_SPECIALISTS;
232
+ this.expertiseIndex = this.buildExpertiseIndex();
233
+ }
234
+ static getInstance() {
235
+ if (!PersonaRegistry.instance) {
236
+ PersonaRegistry.instance = new PersonaRegistry();
237
+ }
238
+ return PersonaRegistry.instance;
239
+ }
240
+ /**
241
+ * Get specialist by ID
242
+ */
243
+ getSpecialist(specialistId) {
244
+ return this.specialists[specialistId] || null;
245
+ }
246
+ /**
247
+ * Get all specialists
248
+ */
249
+ getAllSpecialists() {
250
+ return Object.values(this.specialists);
251
+ }
252
+ /**
253
+ * Find specialists by expertise area
254
+ */
255
+ getSpecialistsByExpertise(expertiseArea) {
256
+ const specialistIds = this.expertiseIndex[expertiseArea] || [];
257
+ return specialistIds.map(id => this.specialists[id]).filter(Boolean);
258
+ }
259
+ /**
260
+ * Infer specialist from natural language question
261
+ */
262
+ inferSpecialistFromQuestion(question) {
263
+ const lowercaseQ = question.toLowerCase();
264
+ // Performance and debugging
265
+ if (this.matchesKeywords(lowercaseQ, ['performance', 'slow', 'sift', 'optimization', 'debug', 'telemetry'])) {
266
+ return this.specialists['dean-debug'];
267
+ }
268
+ // Architecture and design
269
+ if (this.matchesKeywords(lowercaseQ, ['architecture', 'design', 'table', 'model', 'structure', 'pattern', 'facade'])) {
270
+ return this.specialists['alex-architect'];
271
+ }
272
+ // Security
273
+ if (this.matchesKeywords(lowercaseQ, ['security', 'permission', 'access', 'safe', 'protect', 'secure'])) {
274
+ return this.specialists['seth-security'];
275
+ }
276
+ // Code quality and implementation
277
+ if (this.matchesKeywords(lowercaseQ, ['implement', 'code', 'refactor', 'clean', 'quality', 'best practice'])) {
278
+ return this.specialists['sam-coder'];
279
+ }
280
+ // Testing
281
+ if (this.matchesKeywords(lowercaseQ, ['test', 'validation', 'verify', 'quality assurance'])) {
282
+ return this.specialists['quinn-tester'];
283
+ }
284
+ // Error handling
285
+ if (this.matchesKeywords(lowercaseQ, ['error', 'exception', 'handle', 'fail', 'validate'])) {
286
+ return this.specialists['eva-errors'];
287
+ }
288
+ // Integration
289
+ if (this.matchesKeywords(lowercaseQ, ['integration', 'api', 'event', 'external', 'webhook'])) {
290
+ return this.specialists['jordan-bridge'];
291
+ }
292
+ // User experience
293
+ if (this.matchesKeywords(lowercaseQ, ['user', 'interface', 'ux', 'usability', 'experience'])) {
294
+ return this.specialists['uma-ux'];
295
+ }
296
+ // Documentation
297
+ if (this.matchesKeywords(lowercaseQ, ['document', 'explain', 'how to', 'guide'])) {
298
+ return this.specialists['taylor-docs'];
299
+ }
300
+ // Learning and fundamentals
301
+ if (this.matchesKeywords(lowercaseQ, ['learn', 'basic', 'fundamental', 'start', 'begin'])) {
302
+ return this.specialists['maya-mentor'];
303
+ }
304
+ return null; // No clear match - let user choose
305
+ }
306
+ /**
307
+ * Get specialists that could collaborate on a question
308
+ */
309
+ getCollaboratingSpecialists(primarySpecialist, question) {
310
+ const collaborators = [];
311
+ const lowercaseQ = question.toLowerCase();
312
+ // Add common collaboration patterns
313
+ if (primarySpecialist.id === 'dean-debug' && this.matchesKeywords(lowercaseQ, ['architecture', 'design'])) {
314
+ collaborators.push(this.specialists['alex-architect']);
315
+ }
316
+ if (primarySpecialist.id === 'alex-architect' && this.matchesKeywords(lowercaseQ, ['performance', 'optimization'])) {
317
+ collaborators.push(this.specialists['dean-debug']);
318
+ }
319
+ // Security is relevant to most questions
320
+ if (primarySpecialist.id !== 'seth-security' && this.matchesKeywords(lowercaseQ, ['data', 'user', 'access'])) {
321
+ collaborators.push(this.specialists['seth-security']);
322
+ }
323
+ return collaborators;
324
+ }
325
+ buildExpertiseIndex() {
326
+ const index = {};
327
+ for (const specialist of Object.values(this.specialists)) {
328
+ for (const expertise of specialist.expertise_areas) {
329
+ if (!index[expertise]) {
330
+ index[expertise] = [];
331
+ }
332
+ index[expertise].push(specialist.id);
333
+ }
334
+ }
335
+ return index;
336
+ }
337
+ matchesKeywords(text, keywords) {
338
+ return keywords.some(keyword => text.includes(keyword));
339
+ }
340
+ }
341
+ //# sourceMappingURL=persona-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persona-types.js","sourceRoot":"","sources":["../../src/types/persona-types.ts"],"names":[],"mappings":"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"}