@jwikman/bc-code-intelligence-mcp 1.5.7-dev.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 (753) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +165 -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 +440 -0
  10. package/dist/cli/bc-code-intel-cli.js.map +1 -0
  11. package/dist/config/config-loader.d.ts +28 -0
  12. package/dist/config/config-loader.d.ts.map +1 -0
  13. package/dist/config/config-loader.js +497 -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 +608 -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 +82 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +1211 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/layers/base-layer.d.ts +133 -0
  40. package/dist/layers/base-layer.d.ts.map +1 -0
  41. package/dist/layers/base-layer.js +290 -0
  42. package/dist/layers/base-layer.js.map +1 -0
  43. package/dist/layers/embedded-layer.d.ts +130 -0
  44. package/dist/layers/embedded-layer.d.ts.map +1 -0
  45. package/dist/layers/embedded-layer.js +612 -0
  46. package/dist/layers/embedded-layer.js.map +1 -0
  47. package/dist/layers/git-layer.d.ts +77 -0
  48. package/dist/layers/git-layer.d.ts.map +1 -0
  49. package/dist/layers/git-layer.js +529 -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 +135 -0
  56. package/dist/layers/layer-service.d.ts.map +1 -0
  57. package/dist/layers/layer-service.js +586 -0
  58. package/dist/layers/layer-service.js.map +1 -0
  59. package/dist/layers/project-layer.d.ts +58 -0
  60. package/dist/layers/project-layer.d.ts.map +1 -0
  61. package/dist/layers/project-layer.js +286 -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 +358 -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 +818 -0
  86. package/dist/services/code-analysis-service.js.map +1 -0
  87. package/dist/services/enhanced-prompt-service.d.ts +56 -0
  88. package/dist/services/enhanced-prompt-service.d.ts.map +1 -0
  89. package/dist/services/enhanced-prompt-service.js +165 -0
  90. package/dist/services/enhanced-prompt-service.js.map +1 -0
  91. package/dist/services/knowledge-service.d.ts +90 -0
  92. package/dist/services/knowledge-service.d.ts.map +1 -0
  93. package/dist/services/knowledge-service.js +342 -0
  94. package/dist/services/knowledge-service.js.map +1 -0
  95. package/dist/services/methodology-service.d.ts +91 -0
  96. package/dist/services/methodology-service.d.ts.map +1 -0
  97. package/dist/services/methodology-service.js +423 -0
  98. package/dist/services/methodology-service.js.map +1 -0
  99. package/dist/services/multi-content-layer-service.d.ts +198 -0
  100. package/dist/services/multi-content-layer-service.d.ts.map +1 -0
  101. package/dist/services/multi-content-layer-service.js +991 -0
  102. package/dist/services/multi-content-layer-service.js.map +1 -0
  103. package/dist/services/roleplay-engine.d.ts +161 -0
  104. package/dist/services/roleplay-engine.d.ts.map +1 -0
  105. package/dist/services/roleplay-engine.js +994 -0
  106. package/dist/services/roleplay-engine.js.map +1 -0
  107. package/dist/services/session-storage/file-storage.d.ts +30 -0
  108. package/dist/services/session-storage/file-storage.d.ts.map +1 -0
  109. package/dist/services/session-storage/file-storage.js +229 -0
  110. package/dist/services/session-storage/file-storage.js.map +1 -0
  111. package/dist/services/session-storage/in-memory-storage.d.ts +31 -0
  112. package/dist/services/session-storage/in-memory-storage.d.ts.map +1 -0
  113. package/dist/services/session-storage/in-memory-storage.js +142 -0
  114. package/dist/services/session-storage/in-memory-storage.js.map +1 -0
  115. package/dist/services/specialist-discovery.d.ts +98 -0
  116. package/dist/services/specialist-discovery.d.ts.map +1 -0
  117. package/dist/services/specialist-discovery.js +387 -0
  118. package/dist/services/specialist-discovery.js.map +1 -0
  119. package/dist/services/specialist-loader.d.ts +101 -0
  120. package/dist/services/specialist-loader.d.ts.map +1 -0
  121. package/dist/services/specialist-loader.js +256 -0
  122. package/dist/services/specialist-loader.js.map +1 -0
  123. package/dist/services/specialist-session-manager.d.ts +76 -0
  124. package/dist/services/specialist-session-manager.d.ts.map +1 -0
  125. package/dist/services/specialist-session-manager.js +255 -0
  126. package/dist/services/specialist-session-manager.js.map +1 -0
  127. package/dist/services/workflow-service.d.ts +146 -0
  128. package/dist/services/workflow-service.d.ts.map +1 -0
  129. package/dist/services/workflow-service.js +409 -0
  130. package/dist/services/workflow-service.js.map +1 -0
  131. package/dist/setup/post-install.d.ts +12 -0
  132. package/dist/setup/post-install.d.ts.map +1 -0
  133. package/dist/setup/post-install.js +81 -0
  134. package/dist/setup/post-install.js.map +1 -0
  135. package/dist/streamlined-handlers.d.ts +94 -0
  136. package/dist/streamlined-handlers.d.ts.map +1 -0
  137. package/dist/streamlined-handlers.js +665 -0
  138. package/dist/streamlined-handlers.js.map +1 -0
  139. package/dist/test-enhanced-mcp-server.d.ts +7 -0
  140. package/dist/test-enhanced-mcp-server.d.ts.map +1 -0
  141. package/dist/test-enhanced-mcp-server.js +177 -0
  142. package/dist/test-enhanced-mcp-server.js.map +1 -0
  143. package/dist/tools/config-diagnostic-tools.d.ts +234 -0
  144. package/dist/tools/config-diagnostic-tools.d.ts.map +1 -0
  145. package/dist/tools/config-diagnostic-tools.js +887 -0
  146. package/dist/tools/config-diagnostic-tools.js.map +1 -0
  147. package/dist/tools/core-tools.d.ts +26 -0
  148. package/dist/tools/core-tools.d.ts.map +1 -0
  149. package/dist/tools/core-tools.js +241 -0
  150. package/dist/tools/core-tools.js.map +1 -0
  151. package/dist/tools/handoff-tools.d.ts +37 -0
  152. package/dist/tools/handoff-tools.d.ts.map +1 -0
  153. package/dist/tools/handoff-tools.js +265 -0
  154. package/dist/tools/handoff-tools.js.map +1 -0
  155. package/dist/tools/index.d.ts +61 -0
  156. package/dist/tools/index.d.ts.map +1 -0
  157. package/dist/tools/index.js +75 -0
  158. package/dist/tools/index.js.map +1 -0
  159. package/dist/tools/onboarding-tools.d.ts +43 -0
  160. package/dist/tools/onboarding-tools.d.ts.map +1 -0
  161. package/dist/tools/onboarding-tools.js +353 -0
  162. package/dist/tools/onboarding-tools.js.map +1 -0
  163. package/dist/tools/specialist-discovery-tools.d.ts +27 -0
  164. package/dist/tools/specialist-discovery-tools.d.ts.map +1 -0
  165. package/dist/tools/specialist-discovery-tools.js +275 -0
  166. package/dist/tools/specialist-discovery-tools.js.map +1 -0
  167. package/dist/tools/specialist-tools.d.ts +43 -0
  168. package/dist/tools/specialist-tools.d.ts.map +1 -0
  169. package/dist/tools/specialist-tools.js +372 -0
  170. package/dist/tools/specialist-tools.js.map +1 -0
  171. package/dist/tools/workspace-tools.d.ts +96 -0
  172. package/dist/tools/workspace-tools.d.ts.map +1 -0
  173. package/dist/tools/workspace-tools.js +188 -0
  174. package/dist/tools/workspace-tools.js.map +1 -0
  175. package/dist/types/bc-knowledge.d.ts +303 -0
  176. package/dist/types/bc-knowledge.d.ts.map +1 -0
  177. package/dist/types/bc-knowledge.js +69 -0
  178. package/dist/types/bc-knowledge.js.map +1 -0
  179. package/dist/types/config-types.d.ts +186 -0
  180. package/dist/types/config-types.d.ts.map +1 -0
  181. package/dist/types/config-types.js +109 -0
  182. package/dist/types/config-types.js.map +1 -0
  183. package/dist/types/enhanced-layer-types.d.ts +193 -0
  184. package/dist/types/enhanced-layer-types.d.ts.map +1 -0
  185. package/dist/types/enhanced-layer-types.js +9 -0
  186. package/dist/types/enhanced-layer-types.js.map +1 -0
  187. package/dist/types/index.d.ts +5 -0
  188. package/dist/types/index.d.ts.map +1 -0
  189. package/dist/types/index.js +7 -0
  190. package/dist/types/index.js.map +1 -0
  191. package/dist/types/layer-types.d.ts +173 -0
  192. package/dist/types/layer-types.d.ts.map +1 -0
  193. package/dist/types/layer-types.js +27 -0
  194. package/dist/types/layer-types.js.map +1 -0
  195. package/dist/types/roleplay-types.d.ts +156 -0
  196. package/dist/types/roleplay-types.d.ts.map +1 -0
  197. package/dist/types/roleplay-types.js +8 -0
  198. package/dist/types/roleplay-types.js.map +1 -0
  199. package/dist/types/session-types.d.ts +127 -0
  200. package/dist/types/session-types.d.ts.map +1 -0
  201. package/dist/types/session-types.js +8 -0
  202. package/dist/types/session-types.js.map +1 -0
  203. package/dist/utils/path-utils.d.ts +5 -0
  204. package/dist/utils/path-utils.d.ts.map +1 -0
  205. package/dist/utils/path-utils.js +14 -0
  206. package/dist/utils/path-utils.js.map +1 -0
  207. package/dist/workflows/domain-workflows.d.ts +8 -0
  208. package/dist/workflows/domain-workflows.d.ts.map +1 -0
  209. package/dist/workflows/domain-workflows.js +360 -0
  210. package/dist/workflows/domain-workflows.js.map +1 -0
  211. package/embedded-knowledge/.github/ISSUE_TEMPLATE/bug-report.md +24 -0
  212. package/embedded-knowledge/.github/ISSUE_TEMPLATE/content-improvement.md +24 -0
  213. package/embedded-knowledge/.github/ISSUE_TEMPLATE/knowledge-request.md +30 -0
  214. package/embedded-knowledge/AGENTS.md +178 -0
  215. package/embedded-knowledge/CONTRIBUTING.md +58 -0
  216. package/embedded-knowledge/LICENSE +21 -0
  217. package/embedded-knowledge/README.md +32 -0
  218. package/embedded-knowledge/domains/alex-architect/api-delegate-operation-pattern.md +90 -0
  219. package/embedded-knowledge/domains/alex-architect/api-fieldset-registration-pattern.md +113 -0
  220. package/embedded-knowledge/domains/alex-architect/api-interface-design-patterns.md +101 -0
  221. package/embedded-knowledge/domains/alex-architect/api-page-development-patterns.md +87 -0
  222. package/embedded-knowledge/domains/alex-architect/complex-facade-patterns.md +155 -0
  223. package/embedded-knowledge/domains/alex-architect/delegating-to-github-copilot-agents.md +371 -0
  224. package/embedded-knowledge/domains/alex-architect/facade-pattern-al-implementation.md +138 -0
  225. package/embedded-knowledge/domains/alex-architect/facade-pattern-external-api.md +79 -0
  226. package/embedded-knowledge/domains/alex-architect/object-id-ninja-integration.md +281 -0
  227. package/embedded-knowledge/domains/alex-architect/recommend-object-id-ninja.md +248 -0
  228. package/embedded-knowledge/domains/alex-architect/samples/api-delegate-operation.md +280 -0
  229. package/embedded-knowledge/domains/alex-architect/samples/api-fieldset-registration.md +200 -0
  230. package/embedded-knowledge/domains/alex-architect/samples/api-interface-design.md +565 -0
  231. package/embedded-knowledge/domains/alex-architect/samples/api-page-implementation.md +665 -0
  232. package/embedded-knowledge/domains/alex-architect/samples/complex-facade-patterns.md +325 -0
  233. package/embedded-knowledge/domains/alex-architect/samples/facade-pattern-al.md +696 -0
  234. package/embedded-knowledge/domains/alex-architect/samples/facade-pattern.md +320 -0
  235. package/embedded-knowledge/domains/alex-architect/samples/subscriber-organization.md +102 -0
  236. package/embedded-knowledge/domains/alex-architect/samples/systemid-integration.md +433 -0
  237. package/embedded-knowledge/domains/alex-architect/samples/testability-design-patterns.md +223 -0
  238. package/embedded-knowledge/domains/alex-architect/subscriber-codeunit-size-optimization.md +66 -0
  239. package/embedded-knowledge/domains/alex-architect/systemid-integration.md +115 -0
  240. package/embedded-knowledge/domains/alex-architect/testability-design-patterns.md +77 -0
  241. package/embedded-knowledge/domains/casey-copilot/long-running-session-instructions.md +263 -0
  242. package/embedded-knowledge/domains/casey-copilot/samples/long-running-session-instructions.md +323 -0
  243. package/embedded-knowledge/domains/chris-config/configuration-file-discovery.md +846 -0
  244. package/embedded-knowledge/domains/chris-config/configuration-file-formats.md +595 -0
  245. package/embedded-knowledge/domains/chris-config/content-types-structure.md +421 -0
  246. package/embedded-knowledge/domains/chris-config/knowledge-content-creation.md +437 -0
  247. package/embedded-knowledge/domains/chris-config/layer-system-fundamentals.md +257 -0
  248. package/embedded-knowledge/domains/chris-config/multi-team-layer-configuration.md +302 -0
  249. package/embedded-knowledge/domains/chris-config/workspace-detection-solutions.md +336 -0
  250. package/embedded-knowledge/domains/dean-debug/bc-telemetry-buddy-integration.md +453 -0
  251. package/embedded-knowledge/domains/dean-debug/bc24-no-series-conversion-guide.md +360 -0
  252. package/embedded-knowledge/domains/dean-debug/case-statement-performance-best-practices.md +86 -0
  253. package/embedded-knowledge/domains/dean-debug/compound-statements-debugging.md +96 -0
  254. package/embedded-knowledge/domains/dean-debug/custom-dimensions-best-practices.md +70 -0
  255. package/embedded-knowledge/domains/dean-debug/custom-telemetry-implementation.md +84 -0
  256. package/embedded-knowledge/domains/dean-debug/deleteall-performance-tradeoff.md +93 -0
  257. package/embedded-knowledge/domains/dean-debug/deleteall-sql-performance.md +73 -0
  258. package/embedded-knowledge/domains/dean-debug/extension-telemetry-isolation.md +78 -0
  259. package/embedded-knowledge/domains/dean-debug/maintainsiftindex-property-behavior.md +79 -0
  260. package/embedded-knowledge/domains/dean-debug/no-series-implementation-patterns.md +87 -0
  261. package/embedded-knowledge/domains/dean-debug/no-series-module-patterns-bc24.md +209 -0
  262. package/embedded-knowledge/domains/dean-debug/no-series-validation-module-bc24.md +246 -0
  263. package/embedded-knowledge/domains/dean-debug/no-series-validation-patterns.md +107 -0
  264. package/embedded-knowledge/domains/dean-debug/odata-query-optimization.md +105 -0
  265. package/embedded-knowledge/domains/dean-debug/recommend-bc-telemetry-buddy.md +160 -0
  266. package/embedded-knowledge/domains/dean-debug/samples/bc24-no-series-conversion.md +186 -0
  267. package/embedded-knowledge/domains/dean-debug/samples/case-performance-optimization.md +60 -0
  268. package/embedded-knowledge/domains/dean-debug/samples/compound-statements-debugging.md +139 -0
  269. package/embedded-knowledge/domains/dean-debug/samples/custom-dimensions.md +190 -0
  270. package/embedded-knowledge/domains/dean-debug/samples/custom-telemetry.md +516 -0
  271. package/embedded-knowledge/domains/dean-debug/samples/deleteall-performance.md +298 -0
  272. package/embedded-knowledge/domains/dean-debug/samples/error-correlation.md +324 -0
  273. package/embedded-knowledge/domains/dean-debug/samples/extension-isolation.md +344 -0
  274. package/embedded-knowledge/domains/dean-debug/samples/logmessage-methods.md +137 -0
  275. package/embedded-knowledge/domains/dean-debug/samples/maintainsiftindex-examples.md +340 -0
  276. package/embedded-knowledge/domains/dean-debug/samples/no-series-implementation.md +810 -0
  277. package/embedded-knowledge/domains/dean-debug/samples/no-series-module-bc24.md +86 -0
  278. package/embedded-knowledge/domains/dean-debug/samples/no-series-validation-module-bc24.md +110 -0
  279. package/embedded-knowledge/domains/dean-debug/samples/no-series-validation.md +758 -0
  280. package/embedded-knowledge/domains/dean-debug/samples/odata-query-optimization.md +665 -0
  281. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-before-case.md +316 -0
  282. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-before-filters.md +223 -0
  283. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-filter-exclusion.md +149 -0
  284. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-optimization.md +412 -0
  285. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-performance.md +211 -0
  286. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-primary-key.md +155 -0
  287. package/embedded-knowledge/domains/dean-debug/samples/sift-technology-fundamentals.md +475 -0
  288. package/embedded-knowledge/domains/dean-debug/samples/singleinstance-subscribers.md +238 -0
  289. package/embedded-knowledge/domains/dean-debug/samples/table-event-batching.md +97 -0
  290. package/embedded-knowledge/domains/dean-debug/samples/table-key-requirements.md +666 -0
  291. package/embedded-knowledge/domains/dean-debug/samples/telemetry-performance.md +319 -0
  292. package/embedded-knowledge/domains/dean-debug/samples/verbosity-strategy.md +236 -0
  293. package/embedded-knowledge/domains/dean-debug/session-logmessage-methods.md +59 -0
  294. package/embedded-knowledge/domains/dean-debug/setloadfields-filter-field-exclusion.md +67 -0
  295. package/embedded-knowledge/domains/dean-debug/setloadfields-performance-impact.md +70 -0
  296. package/embedded-knowledge/domains/dean-debug/setloadfields-performance-optimization.md +90 -0
  297. package/embedded-knowledge/domains/dean-debug/setloadfields-placement-before-case-statements.md +87 -0
  298. package/embedded-knowledge/domains/dean-debug/setloadfields-placement-before-filters.md +70 -0
  299. package/embedded-knowledge/domains/dean-debug/setloadfields-primary-key-optimization.md +74 -0
  300. package/embedded-knowledge/domains/dean-debug/sift-technology-fundamentals.md +81 -0
  301. package/embedded-knowledge/domains/dean-debug/subscriber-singleinstance-performance.md +56 -0
  302. package/embedded-knowledge/domains/dean-debug/table-event-batch-operation-impact.md +66 -0
  303. package/embedded-knowledge/domains/dean-debug/table-key-requirements.md +79 -0
  304. package/embedded-knowledge/domains/dean-debug/telemetry-error-correlation.md +78 -0
  305. package/embedded-knowledge/domains/dean-debug/telemetry-performance-considerations.md +83 -0
  306. package/embedded-knowledge/domains/dean-debug/telemetry-verbosity-strategy.md +76 -0
  307. package/embedded-knowledge/domains/dean-debug/testfield-performance.md +104 -0
  308. package/embedded-knowledge/domains/eva-errors/codeunit-run-pattern.md +159 -0
  309. package/embedded-knowledge/domains/eva-errors/fielderror-default-messages.md +145 -0
  310. package/embedded-knowledge/domains/eva-errors/fielderror-message-construction.md +104 -0
  311. package/embedded-knowledge/domains/eva-errors/fielderror-method-syntax.md +114 -0
  312. package/embedded-knowledge/domains/eva-errors/samples/codeunit-run-pattern.md +239 -0
  313. package/embedded-knowledge/domains/eva-errors/samples/fielderror-default-messages.md +356 -0
  314. package/embedded-knowledge/domains/eva-errors/samples/fielderror-syntax.md +256 -0
  315. package/embedded-knowledge/domains/eva-errors/samples/table-safety-validation-patterns.md +101 -0
  316. package/embedded-knowledge/domains/eva-errors/samples/testfield-error-handling.md +108 -0
  317. package/embedded-knowledge/domains/eva-errors/samples/try-function-usage.md +195 -0
  318. package/embedded-knowledge/domains/eva-errors/testfield-error-handling.md +80 -0
  319. package/embedded-knowledge/domains/eva-errors/try-function-usage.md +129 -0
  320. package/embedded-knowledge/domains/jordan-bridge/al-event-subscriber-architecture.md +98 -0
  321. package/embedded-knowledge/domains/jordan-bridge/automatic-registration.md +123 -0
  322. package/embedded-knowledge/domains/jordan-bridge/business-process-template-patterns.md +96 -0
  323. package/embedded-knowledge/domains/jordan-bridge/error-response-patterns.md +115 -0
  324. package/embedded-knowledge/domains/jordan-bridge/etag-implementation.md +115 -0
  325. package/embedded-knowledge/domains/jordan-bridge/field-control-selection.md +114 -0
  326. package/embedded-knowledge/domains/jordan-bridge/samples/al-event-subscriber-architecture.md +395 -0
  327. package/embedded-knowledge/domains/jordan-bridge/samples/api-error-responses.md +479 -0
  328. package/embedded-knowledge/domains/jordan-bridge/samples/api-field-control.md +548 -0
  329. package/embedded-knowledge/domains/jordan-bridge/samples/api-url-naming.md +287 -0
  330. package/embedded-knowledge/domains/jordan-bridge/samples/business-process-templates.md +434 -0
  331. package/embedded-knowledge/domains/jordan-bridge/samples/etag-implementation.md +508 -0
  332. package/embedded-knowledge/domains/jordan-bridge/samples/task-scheduler-pattern.md +615 -0
  333. package/embedded-knowledge/domains/jordan-bridge/task-scheduler-pattern-implementation.md +144 -0
  334. package/embedded-knowledge/domains/jordan-bridge/url-structure-naming-patterns.md +96 -0
  335. package/embedded-knowledge/domains/maya-mentor/case-multiple-conditions-ranges.md +124 -0
  336. package/embedded-knowledge/domains/maya-mentor/case-statement-syntax-structure.md +84 -0
  337. package/embedded-knowledge/domains/maya-mentor/fielderror-syntax-usage.md +75 -0
  338. package/embedded-knowledge/domains/maya-mentor/fielderror-vs-testfield.md +96 -0
  339. package/embedded-knowledge/domains/maya-mentor/samples/case-statement-multiple-conditions.md +385 -0
  340. package/embedded-knowledge/domains/maya-mentor/samples/case-statement-syntax-structure.md +72 -0
  341. package/embedded-knowledge/domains/maya-mentor/samples/fielderror-syntax-usage.md +48 -0
  342. package/embedded-knowledge/domains/maya-mentor/samples/testfield-basic-syntax.md +49 -0
  343. package/embedded-knowledge/domains/maya-mentor/testfield-basic-syntax.md +67 -0
  344. package/embedded-knowledge/domains/morgan-market/partner-readiness-analysis.md +201 -0
  345. package/embedded-knowledge/domains/morgan-market/samples/partner-readiness-checklist.md +288 -0
  346. package/embedded-knowledge/domains/parker-pragmatic/README.md +39 -0
  347. package/embedded-knowledge/domains/parker-pragmatic/proposal-workflows/creating-effective-proposals.md +583 -0
  348. package/embedded-knowledge/domains/parker-pragmatic/trust-building/working-with-ai-skeptics.md +587 -0
  349. package/embedded-knowledge/domains/quinn-tester/fielderror-validation-patterns.md +119 -0
  350. package/embedded-knowledge/domains/quinn-tester/isolation-testing-patterns.md +82 -0
  351. package/embedded-knowledge/domains/quinn-tester/rule-execution.md +123 -0
  352. package/embedded-knowledge/domains/quinn-tester/samples/case-error-handling.md +64 -0
  353. package/embedded-knowledge/domains/quinn-tester/samples/fielderror-message-construction.md +60 -0
  354. package/embedded-knowledge/domains/quinn-tester/samples/fielderror-validation-patterns.md +83 -0
  355. package/embedded-knowledge/domains/quinn-tester/samples/isolation-testing-patterns.md +424 -0
  356. package/embedded-knowledge/domains/quinn-tester/samples/rule-execution.md +716 -0
  357. package/embedded-knowledge/domains/quinn-tester/samples/table-safety-validation-patterns.md +101 -0
  358. package/embedded-knowledge/domains/quinn-tester/samples/temporary-table-operation-validation.md +91 -0
  359. package/embedded-knowledge/domains/quinn-tester/table-safety-validation-patterns.md +79 -0
  360. package/embedded-knowledge/domains/quinn-tester/temporary-table-operation-validation.md +79 -0
  361. package/embedded-knowledge/domains/roger-reviewer/al-begin-end-block-structure.md +89 -0
  362. package/embedded-knowledge/domains/roger-reviewer/al-binary-operator-spacing.md +76 -0
  363. package/embedded-knowledge/domains/roger-reviewer/al-blank-line-organization.md +76 -0
  364. package/embedded-knowledge/domains/roger-reviewer/al-case-action-formatting.md +76 -0
  365. package/embedded-knowledge/domains/roger-reviewer/al-code-spacing-conventions.md +81 -0
  366. package/embedded-knowledge/domains/roger-reviewer/al-comment-spacing-standards.md +76 -0
  367. package/embedded-knowledge/domains/roger-reviewer/al-end-else-pairing.md +75 -0
  368. package/embedded-knowledge/domains/roger-reviewer/al-keyword-indentation-rules.md +76 -0
  369. package/embedded-knowledge/domains/roger-reviewer/al-line-start-keyword-positioning.md +76 -0
  370. package/embedded-knowledge/domains/roger-reviewer/al-separate-if-else-formatting.md +76 -0
  371. package/embedded-knowledge/domains/roger-reviewer/al-standard-abbreviations.md +96 -0
  372. package/embedded-knowledge/domains/roger-reviewer/al-statement-per-line-rule.md +76 -0
  373. package/embedded-knowledge/domains/roger-reviewer/al-unnecessary-else-elimination.md +86 -0
  374. package/embedded-knowledge/domains/roger-reviewer/al-variable-declaration-order.md +90 -0
  375. package/embedded-knowledge/domains/roger-reviewer/al-variable-naming-conventions.md +82 -0
  376. package/embedded-knowledge/domains/roger-reviewer/begin-block-statement-clarity.md +78 -0
  377. package/embedded-knowledge/domains/roger-reviewer/begin-end-positioning-patterns.md +76 -0
  378. package/embedded-knowledge/domains/roger-reviewer/binary-operator-line-positioning.md +78 -0
  379. package/embedded-knowledge/domains/roger-reviewer/boolean-expression-simplification-al.md +100 -0
  380. package/embedded-knowledge/domains/roger-reviewer/case-statement-error-handling-troubleshooting.md +115 -0
  381. package/embedded-knowledge/domains/roger-reviewer/compound-statement-readability.md +124 -0
  382. package/embedded-knowledge/domains/roger-reviewer/lonely-repeat-statement-pattern.md +110 -0
  383. package/embedded-knowledge/domains/roger-reviewer/samples/al-begin-end-blocks.md +438 -0
  384. package/embedded-knowledge/domains/roger-reviewer/samples/al-binary-operator-spacing.md +255 -0
  385. package/embedded-knowledge/domains/roger-reviewer/samples/al-comment-spacing-standards.md +209 -0
  386. package/embedded-knowledge/domains/roger-reviewer/samples/al-keyword-indentation-rules.md +218 -0
  387. package/embedded-knowledge/domains/roger-reviewer/samples/al-line-start-keyword-positioning.md +218 -0
  388. package/embedded-knowledge/domains/roger-reviewer/samples/al-separate-if-else-formatting.md +280 -0
  389. package/embedded-knowledge/domains/roger-reviewer/samples/al-statement-per-line-rule.md +188 -0
  390. package/embedded-knowledge/domains/roger-reviewer/samples/al-unnecessary-else-elimination.md +245 -0
  391. package/embedded-knowledge/domains/roger-reviewer/samples/al-variable-declaration-order.md +244 -0
  392. package/embedded-knowledge/domains/roger-reviewer/samples/begin-end-positioning.md +278 -0
  393. package/embedded-knowledge/domains/roger-reviewer/samples/boolean-simplification-examples.md +484 -0
  394. package/embedded-knowledge/domains/roger-reviewer/samples/case-error-handling.md +64 -0
  395. package/embedded-knowledge/domains/roger-reviewer/samples/compound-statement-readability.md +107 -0
  396. package/embedded-knowledge/domains/roger-reviewer/samples/lonely-repeat-examples.md +280 -0
  397. package/embedded-knowledge/domains/roger-reviewer/samples/testability-code-smells.md +256 -0
  398. package/embedded-knowledge/domains/roger-reviewer/testability-code-smells.md +67 -0
  399. package/embedded-knowledge/domains/sam-coder/al-formatting-consistency-patterns.md +75 -0
  400. package/embedded-knowledge/domains/sam-coder/al-line-comment-formatting.md +67 -0
  401. package/embedded-knowledge/domains/sam-coder/al-lonely-repeat-pattern.md +76 -0
  402. package/embedded-knowledge/domains/sam-coder/al-named-parameter-pattern.md +98 -0
  403. package/embedded-knowledge/domains/sam-coder/al-object-navigation-shortcuts.md +128 -0
  404. package/embedded-knowledge/domains/sam-coder/al-readability-optimization.md +75 -0
  405. package/embedded-knowledge/domains/sam-coder/al-record-find-early-exit.md +95 -0
  406. package/embedded-knowledge/domains/sam-coder/command-queue-pattern-al.md +141 -0
  407. package/embedded-knowledge/domains/sam-coder/deleteall-alternative-implementation.md +91 -0
  408. package/embedded-knowledge/domains/sam-coder/deleteall-method-usage.md +118 -0
  409. package/embedded-knowledge/domains/sam-coder/deleteall-trigger-execution.md +111 -0
  410. package/embedded-knowledge/domains/sam-coder/event-bridge-pattern-al.md +113 -0
  411. package/embedded-knowledge/domains/sam-coder/event-payload-design-patterns.md +127 -0
  412. package/embedded-knowledge/domains/sam-coder/generic-method-patterns-al.md +141 -0
  413. package/embedded-knowledge/domains/sam-coder/manual-binding-conditional-subscribers.md +66 -0
  414. package/embedded-knowledge/domains/sam-coder/nested-compound-best-practices.md +96 -0
  415. package/embedded-knowledge/domains/sam-coder/samples/al-blank-line-organization.md +161 -0
  416. package/embedded-knowledge/domains/sam-coder/samples/al-case-action-formatting.md +177 -0
  417. package/embedded-knowledge/domains/sam-coder/samples/al-lonely-repeat-pattern.md +239 -0
  418. package/embedded-knowledge/domains/sam-coder/samples/al-named-parameter-pattern.md +346 -0
  419. package/embedded-knowledge/domains/sam-coder/samples/al-record-find-early-exit.md +298 -0
  420. package/embedded-knowledge/domains/sam-coder/samples/command-queue-pattern.md +677 -0
  421. package/embedded-knowledge/domains/sam-coder/samples/deleteall-alternative-implementation.md +117 -0
  422. package/embedded-knowledge/domains/sam-coder/samples/deleteall-triggers.md +75 -0
  423. package/embedded-knowledge/domains/sam-coder/samples/deleteall-usage.md +169 -0
  424. package/embedded-knowledge/domains/sam-coder/samples/event-bridge-pattern.md +399 -0
  425. package/embedded-knowledge/domains/sam-coder/samples/event-payload-design.md +356 -0
  426. package/embedded-knowledge/domains/sam-coder/samples/generic-method-patterns.md +889 -0
  427. package/embedded-knowledge/domains/sam-coder/samples/manual-binding.md +84 -0
  428. package/embedded-knowledge/domains/sam-coder/samples/nested-compound-best-practices.md +127 -0
  429. package/embedded-knowledge/domains/sam-coder/samples/single-to-compound-conversion.md +89 -0
  430. package/embedded-knowledge/domains/sam-coder/samples/template-method-pattern.md +516 -0
  431. package/embedded-knowledge/domains/sam-coder/samples/testfield-patterns.md +61 -0
  432. package/embedded-knowledge/domains/sam-coder/samples/type-safe-operations.md +427 -0
  433. package/embedded-knowledge/domains/sam-coder/single-to-compound-conversion.md +122 -0
  434. package/embedded-knowledge/domains/sam-coder/template-method-pattern-al.md +96 -0
  435. package/embedded-knowledge/domains/sam-coder/testfield-patterns.md +101 -0
  436. package/embedded-knowledge/domains/sam-coder/type-safe-operations-al.md +149 -0
  437. package/embedded-knowledge/domains/sam-coder/vs-code-al-keyboard-shortcuts.md +107 -0
  438. package/embedded-knowledge/domains/seth-security/al-temporary-table-safety.md +95 -0
  439. package/embedded-knowledge/domains/seth-security/api-permission-model.md +115 -0
  440. package/embedded-knowledge/domains/seth-security/istemporary-safeguard-pattern.md +78 -0
  441. package/embedded-knowledge/domains/seth-security/samples/al-temporary-table-safety.md +373 -0
  442. package/embedded-knowledge/domains/seth-security/samples/api-permission-model.md +308 -0
  443. package/embedded-knowledge/domains/shared/al-file-naming-conventions.md +146 -0
  444. package/embedded-knowledge/domains/taylor-docs/al-xml-documentation-structure.md +79 -0
  445. package/embedded-knowledge/domains/uma-ux/bc-action-shortcuts-syntax.md +78 -0
  446. package/embedded-knowledge/domains/uma-ux/shortcut-key-user-experience-design.md +81 -0
  447. package/embedded-knowledge/indexes/bc-version-matrix.json +188 -0
  448. package/embedded-knowledge/indexes/domain-catalog.json +106 -0
  449. package/embedded-knowledge/indexes/tags/abbreviations.json +1 -0
  450. package/embedded-knowledge/indexes/tags/abstraction.json +1 -0
  451. package/embedded-knowledge/indexes/tags/access-control.json +1 -0
  452. package/embedded-knowledge/indexes/tags/accessibility.json +1 -0
  453. package/embedded-knowledge/indexes/tags/actions.json +1 -0
  454. package/embedded-knowledge/indexes/tags/advanced-patterns.json +1 -0
  455. package/embedded-knowledge/indexes/tags/advanced.json +1 -0
  456. package/embedded-knowledge/indexes/tags/al-extension.json +1 -0
  457. package/embedded-knowledge/indexes/tags/al-generics.json +1 -0
  458. package/embedded-knowledge/indexes/tags/al-objects.json +1 -0
  459. package/embedded-knowledge/indexes/tags/al-syntax.json +1 -0
  460. package/embedded-knowledge/indexes/tags/algorithm-structure.json +1 -0
  461. package/embedded-knowledge/indexes/tags/alternatives.json +1 -0
  462. package/embedded-knowledge/indexes/tags/analytics.json +1 -0
  463. package/embedded-knowledge/indexes/tags/api-delegates.json +1 -0
  464. package/embedded-knowledge/indexes/tags/api-design.json +1 -0
  465. package/embedded-knowledge/indexes/tags/api-documentation.json +1 -0
  466. package/embedded-knowledge/indexes/tags/api-endpoints.json +1 -0
  467. package/embedded-knowledge/indexes/tags/api-extensibility.json +1 -0
  468. package/embedded-knowledge/indexes/tags/api-fieldsets.json +1 -0
  469. package/embedded-knowledge/indexes/tags/api-integration.json +1 -0
  470. package/embedded-knowledge/indexes/tags/api-interfaces.json +1 -0
  471. package/embedded-knowledge/indexes/tags/api-optimization.json +1 -0
  472. package/embedded-knowledge/indexes/tags/api-pages.json +1 -0
  473. package/embedded-knowledge/indexes/tags/api-patterns.json +1 -0
  474. package/embedded-knowledge/indexes/tags/api-permissions.json +1 -0
  475. package/embedded-knowledge/indexes/tags/api-responses.json +1 -0
  476. package/embedded-knowledge/indexes/tags/api-simplification.json +1 -0
  477. package/embedded-knowledge/indexes/tags/api.json +1 -0
  478. package/embedded-knowledge/indexes/tags/architecture.json +1 -0
  479. package/embedded-knowledge/indexes/tags/async-patterns.json +1 -0
  480. package/embedded-knowledge/indexes/tags/async-processing.json +1 -0
  481. package/embedded-knowledge/indexes/tags/automatic-registration.json +1 -0
  482. package/embedded-knowledge/indexes/tags/batch-operations.json +1 -0
  483. package/embedded-knowledge/indexes/tags/bc24-migration.json +1 -0
  484. package/embedded-knowledge/indexes/tags/begin-blocks.json +1 -0
  485. package/embedded-knowledge/indexes/tags/begin-end.json +1 -0
  486. package/embedded-knowledge/indexes/tags/behavioral-patterns.json +1 -0
  487. package/embedded-knowledge/indexes/tags/best-practices.json +1 -0
  488. package/embedded-knowledge/indexes/tags/binding.json +1 -0
  489. package/embedded-knowledge/indexes/tags/block-structure.json +1 -0
  490. package/embedded-knowledge/indexes/tags/blocks.json +1 -0
  491. package/embedded-knowledge/indexes/tags/boolean-expressions.json +1 -0
  492. package/embedded-knowledge/indexes/tags/branching.json +1 -0
  493. package/embedded-knowledge/indexes/tags/breaking-changes.json +1 -0
  494. package/embedded-knowledge/indexes/tags/breakpoints.json +1 -0
  495. package/embedded-knowledge/indexes/tags/business-foundation.json +1 -0
  496. package/embedded-knowledge/indexes/tags/business-infrastructure.json +1 -0
  497. package/embedded-knowledge/indexes/tags/business-process.json +1 -0
  498. package/embedded-knowledge/indexes/tags/business-rules.json +1 -0
  499. package/embedded-knowledge/indexes/tags/caching.json +1 -0
  500. package/embedded-knowledge/indexes/tags/case-statements.json +1 -0
  501. package/embedded-knowledge/indexes/tags/case.json +1 -0
  502. package/embedded-knowledge/indexes/tags/code-analysis.json +1 -0
  503. package/embedded-knowledge/indexes/tags/code-clarity.json +1 -0
  504. package/embedded-knowledge/indexes/tags/code-comprehension.json +1 -0
  505. package/embedded-knowledge/indexes/tags/code-conversion.json +1 -0
  506. package/embedded-knowledge/indexes/tags/code-formatting.json +1 -0
  507. package/embedded-knowledge/indexes/tags/code-organization.json +1 -0
  508. package/embedded-knowledge/indexes/tags/code-patterns.json +1 -0
  509. package/embedded-knowledge/indexes/tags/code-quality.json +1 -0
  510. package/embedded-knowledge/indexes/tags/code-reuse.json +1 -0
  511. package/embedded-knowledge/indexes/tags/code-simplification.json +1 -0
  512. package/embedded-knowledge/indexes/tags/code-standards.json +1 -0
  513. package/embedded-knowledge/indexes/tags/code-structure.json +1 -0
  514. package/embedded-knowledge/indexes/tags/code-style.json +1 -0
  515. package/embedded-knowledge/indexes/tags/codeunit-design.json +1 -0
  516. package/embedded-knowledge/indexes/tags/command-queue.json +1 -0
  517. package/embedded-knowledge/indexes/tags/comments.json +1 -0
  518. package/embedded-knowledge/indexes/tags/compile-time-validation.json +1 -0
  519. package/embedded-knowledge/indexes/tags/complex-facade.json +1 -0
  520. package/embedded-knowledge/indexes/tags/complexity-hiding.json +1 -0
  521. package/embedded-knowledge/indexes/tags/complexity-management.json +1 -0
  522. package/embedded-knowledge/indexes/tags/compound-statements.json +1 -0
  523. package/embedded-knowledge/indexes/tags/concurrency.json +1 -0
  524. package/embedded-knowledge/indexes/tags/conditional-logic.json +1 -0
  525. package/embedded-knowledge/indexes/tags/conditional.json +1 -0
  526. package/embedded-knowledge/indexes/tags/conflict-resolution.json +1 -0
  527. package/embedded-knowledge/indexes/tags/consistency.json +1 -0
  528. package/embedded-knowledge/indexes/tags/contract-design.json +1 -0
  529. package/embedded-knowledge/indexes/tags/control-flow.json +1 -0
  530. package/embedded-knowledge/indexes/tags/conversion-guide.json +1 -0
  531. package/embedded-knowledge/indexes/tags/correlation.json +1 -0
  532. package/embedded-knowledge/indexes/tags/custom-messages.json +1 -0
  533. package/embedded-knowledge/indexes/tags/data-access.json +1 -0
  534. package/embedded-knowledge/indexes/tags/data-exposure.json +1 -0
  535. package/embedded-knowledge/indexes/tags/data-integrity.json +1 -0
  536. package/embedded-knowledge/indexes/tags/data-loading.json +1 -0
  537. package/embedded-knowledge/indexes/tags/data-manipulation.json +1 -0
  538. package/embedded-knowledge/indexes/tags/data-modeling.json +1 -0
  539. package/embedded-knowledge/indexes/tags/data-patterns.json +1 -0
  540. package/embedded-knowledge/indexes/tags/data-protection.json +1 -0
  541. package/embedded-knowledge/indexes/tags/data-validation.json +1 -0
  542. package/embedded-knowledge/indexes/tags/database.json +1 -0
  543. package/embedded-knowledge/indexes/tags/debugging.json +1 -0
  544. package/embedded-knowledge/indexes/tags/decision-making.json +1 -0
  545. package/embedded-knowledge/indexes/tags/declaration.json +1 -0
  546. package/embedded-knowledge/indexes/tags/default-messages.json +1 -0
  547. package/embedded-knowledge/indexes/tags/defensive-programming.json +1 -0
  548. package/embedded-knowledge/indexes/tags/deleteall.json +1 -0
  549. package/embedded-knowledge/indexes/tags/dependencies.json +1 -0
  550. package/embedded-knowledge/indexes/tags/deployment.json +1 -0
  551. package/embedded-knowledge/indexes/tags/developer-productivity.json +1 -0
  552. package/embedded-knowledge/indexes/tags/development-workflow.json +1 -0
  553. package/embedded-knowledge/indexes/tags/diagnostics.json +1 -0
  554. package/embedded-knowledge/indexes/tags/dimensions.json +1 -0
  555. package/embedded-knowledge/indexes/tags/documentation.json +1 -0
  556. package/embedded-knowledge/indexes/tags/early-exit.json +1 -0
  557. package/embedded-knowledge/indexes/tags/else-clauses.json +1 -0
  558. package/embedded-knowledge/indexes/tags/end-statements.json +1 -0
  559. package/embedded-knowledge/indexes/tags/enterprise-patterns.json +1 -0
  560. package/embedded-knowledge/indexes/tags/entity-relationships.json +1 -0
  561. package/embedded-knowledge/indexes/tags/error-handling.json +1 -0
  562. package/embedded-knowledge/indexes/tags/error-messages.json +1 -0
  563. package/embedded-knowledge/indexes/tags/error-prevention.json +1 -0
  564. package/embedded-knowledge/indexes/tags/error-text.json +1 -0
  565. package/embedded-knowledge/indexes/tags/etag.json +1 -0
  566. package/embedded-knowledge/indexes/tags/event-bridge.json +1 -0
  567. package/embedded-knowledge/indexes/tags/event-payload.json +1 -0
  568. package/embedded-knowledge/indexes/tags/event-routing.json +1 -0
  569. package/embedded-knowledge/indexes/tags/events.json +1 -0
  570. package/embedded-knowledge/indexes/tags/execution-flow.json +1 -0
  571. package/embedded-knowledge/indexes/tags/expressions.json +1 -0
  572. package/embedded-knowledge/indexes/tags/extensibility.json +1 -0
  573. package/embedded-knowledge/indexes/tags/extensions.json +1 -0
  574. package/embedded-knowledge/indexes/tags/facade-composition.json +1 -0
  575. package/embedded-knowledge/indexes/tags/facade-pattern.json +1 -0
  576. package/embedded-knowledge/indexes/tags/field-control.json +1 -0
  577. package/embedded-knowledge/indexes/tags/field-exclusion.json +1 -0
  578. package/embedded-knowledge/indexes/tags/field-registration.json +1 -0
  579. package/embedded-knowledge/indexes/tags/field-state.json +1 -0
  580. package/embedded-knowledge/indexes/tags/field-validation.json +1 -0
  581. package/embedded-knowledge/indexes/tags/fielderror.json +1 -0
  582. package/embedded-knowledge/indexes/tags/fields.json +1 -0
  583. package/embedded-knowledge/indexes/tags/filtering.json +1 -0
  584. package/embedded-knowledge/indexes/tags/filters.json +1 -0
  585. package/embedded-knowledge/indexes/tags/formatting.json +1 -0
  586. package/embedded-knowledge/indexes/tags/generic-methods.json +1 -0
  587. package/embedded-knowledge/indexes/tags/http-status.json +1 -0
  588. package/embedded-knowledge/indexes/tags/if-statements.json +1 -0
  589. package/embedded-knowledge/indexes/tags/implementation.json +1 -0
  590. package/embedded-knowledge/indexes/tags/indentation.json +1 -0
  591. package/embedded-knowledge/indexes/tags/index-summary.json +277 -0
  592. package/embedded-knowledge/indexes/tags/indexing.json +1 -0
  593. package/embedded-knowledge/indexes/tags/inheritance.json +1 -0
  594. package/embedded-knowledge/indexes/tags/integration.json +1 -0
  595. package/embedded-knowledge/indexes/tags/integrity-checking.json +1 -0
  596. package/embedded-knowledge/indexes/tags/intellisense.json +1 -0
  597. package/embedded-knowledge/indexes/tags/interface-design.json +1 -0
  598. package/embedded-knowledge/indexes/tags/interface-segregation.json +1 -0
  599. package/embedded-knowledge/indexes/tags/isolation.json +1 -0
  600. package/embedded-knowledge/indexes/tags/job-processing.json +1 -0
  601. package/embedded-knowledge/indexes/tags/keyboard-navigation.json +1 -0
  602. package/embedded-knowledge/indexes/tags/keywords.json +1 -0
  603. package/embedded-knowledge/indexes/tags/legacy-modernization.json +1 -0
  604. package/embedded-knowledge/indexes/tags/line-breaks.json +1 -0
  605. package/embedded-knowledge/indexes/tags/line-organization.json +1 -0
  606. package/embedded-knowledge/indexes/tags/line-positioning.json +1 -0
  607. package/embedded-knowledge/indexes/tags/localization.json +1 -0
  608. package/embedded-knowledge/indexes/tags/logging.json +1 -0
  609. package/embedded-knowledge/indexes/tags/loose-coupling.json +1 -0
  610. package/embedded-knowledge/indexes/tags/maintainability.json +1 -0
  611. package/embedded-knowledge/indexes/tags/memory-management.json +1 -0
  612. package/embedded-knowledge/indexes/tags/memory-optimization.json +1 -0
  613. package/embedded-knowledge/indexes/tags/memory.json +1 -0
  614. package/embedded-knowledge/indexes/tags/message-design.json +1 -0
  615. package/embedded-knowledge/indexes/tags/message-formatting.json +1 -0
  616. package/embedded-knowledge/indexes/tags/message-patterns.json +1 -0
  617. package/embedded-knowledge/indexes/tags/metadata-driven.json +1 -0
  618. package/embedded-knowledge/indexes/tags/method-comparison.json +1 -0
  619. package/embedded-knowledge/indexes/tags/module-architecture.json +1 -0
  620. package/embedded-knowledge/indexes/tags/module-validation.json +1 -0
  621. package/embedded-knowledge/indexes/tags/monitoring.json +1 -0
  622. package/embedded-knowledge/indexes/tags/multi-layer-facade.json +1 -0
  623. package/embedded-knowledge/indexes/tags/multi-tenancy.json +1 -0
  624. package/embedded-knowledge/indexes/tags/multiple-values.json +1 -0
  625. package/embedded-knowledge/indexes/tags/naming-conventions.json +1 -0
  626. package/embedded-knowledge/indexes/tags/naming.json +1 -0
  627. package/embedded-knowledge/indexes/tags/navigation.json +1 -0
  628. package/embedded-knowledge/indexes/tags/nested-statements.json +1 -0
  629. package/embedded-knowledge/indexes/tags/no-series-conversion.json +1 -0
  630. package/embedded-knowledge/indexes/tags/no-series-validation.json +1 -0
  631. package/embedded-knowledge/indexes/tags/no-series.json +1 -0
  632. package/embedded-knowledge/indexes/tags/number-generation.json +1 -0
  633. package/embedded-knowledge/indexes/tags/object-documentation.json +1 -0
  634. package/embedded-knowledge/indexes/tags/odata.json +1 -0
  635. package/embedded-knowledge/indexes/tags/ondelete.json +1 -0
  636. package/embedded-knowledge/indexes/tags/onvalidate.json +1 -0
  637. package/embedded-knowledge/indexes/tags/operation-delegation.json +1 -0
  638. package/embedded-knowledge/indexes/tags/operation-safety.json +1 -0
  639. package/embedded-knowledge/indexes/tags/operators.json +1 -0
  640. package/embedded-knowledge/indexes/tags/optimization.json +1 -0
  641. package/embedded-knowledge/indexes/tags/order.json +1 -0
  642. package/embedded-knowledge/indexes/tags/organization.json +1 -0
  643. package/embedded-knowledge/indexes/tags/pages.json +1 -0
  644. package/embedded-knowledge/indexes/tags/parameters.json +1 -0
  645. package/embedded-knowledge/indexes/tags/patterns.json +1 -0
  646. package/embedded-knowledge/indexes/tags/performance-optimization.json +1 -0
  647. package/embedded-knowledge/indexes/tags/performance.json +1 -0
  648. package/embedded-knowledge/indexes/tags/placement.json +1 -0
  649. package/embedded-knowledge/indexes/tags/posting-codeunits.json +1 -0
  650. package/embedded-knowledge/indexes/tags/posting.json +1 -0
  651. package/embedded-knowledge/indexes/tags/preconditions.json +1 -0
  652. package/embedded-knowledge/indexes/tags/primary-key.json +1 -0
  653. package/embedded-knowledge/indexes/tags/privacy.json +1 -0
  654. package/embedded-knowledge/indexes/tags/process-automation.json +1 -0
  655. package/embedded-knowledge/indexes/tags/production.json +1 -0
  656. package/embedded-knowledge/indexes/tags/productivity.json +1 -0
  657. package/embedded-knowledge/indexes/tags/query-performance.json +1 -0
  658. package/embedded-knowledge/indexes/tags/queue-management.json +1 -0
  659. package/embedded-knowledge/indexes/tags/ranges.json +1 -0
  660. package/embedded-knowledge/indexes/tags/readability.json +1 -0
  661. package/embedded-knowledge/indexes/tags/record-access.json +1 -0
  662. package/embedded-knowledge/indexes/tags/record-methods.json +1 -0
  663. package/embedded-knowledge/indexes/tags/refactoring.json +1 -0
  664. package/embedded-knowledge/indexes/tags/reference.json +1 -0
  665. package/embedded-knowledge/indexes/tags/repeat-loops.json +1 -0
  666. package/embedded-knowledge/indexes/tags/repeat-statement.json +1 -0
  667. package/embedded-knowledge/indexes/tags/runtime-errors.json +1 -0
  668. package/embedded-knowledge/indexes/tags/runtime.json +1 -0
  669. package/embedded-knowledge/indexes/tags/safeguards.json +1 -0
  670. package/embedded-knowledge/indexes/tags/security.json +1 -0
  671. package/embedded-knowledge/indexes/tags/sequence-management.json +1 -0
  672. package/embedded-knowledge/indexes/tags/serialization.json +1 -0
  673. package/embedded-knowledge/indexes/tags/session-logmessage.json +1 -0
  674. package/embedded-knowledge/indexes/tags/session.json +1 -0
  675. package/embedded-knowledge/indexes/tags/setloadfields.json +1 -0
  676. package/embedded-knowledge/indexes/tags/shortcuts.json +1 -0
  677. package/embedded-knowledge/indexes/tags/sift.json +1 -0
  678. package/embedded-knowledge/indexes/tags/singleinstance.json +1 -0
  679. package/embedded-knowledge/indexes/tags/spacing.json +1 -0
  680. package/embedded-knowledge/indexes/tags/sql-translation.json +1 -0
  681. package/embedded-knowledge/indexes/tags/standards.json +1 -0
  682. package/embedded-knowledge/indexes/tags/statements.json +1 -0
  683. package/embedded-knowledge/indexes/tags/streaming.json +1 -0
  684. package/embedded-knowledge/indexes/tags/strong-typing.json +1 -0
  685. package/embedded-knowledge/indexes/tags/structural-patterns.json +1 -0
  686. package/embedded-knowledge/indexes/tags/structure.json +1 -0
  687. package/embedded-knowledge/indexes/tags/subscribers.json +1 -0
  688. package/embedded-knowledge/indexes/tags/switch.json +1 -0
  689. package/embedded-knowledge/indexes/tags/symbol-search.json +1 -0
  690. package/embedded-knowledge/indexes/tags/syntax.json +1 -0
  691. package/embedded-knowledge/indexes/tags/systemid.json +1 -0
  692. package/embedded-knowledge/indexes/tags/table-configuration.json +1 -0
  693. package/embedded-knowledge/indexes/tags/table-events.json +1 -0
  694. package/embedded-knowledge/indexes/tags/table-keys.json +1 -0
  695. package/embedded-knowledge/indexes/tags/table-safety.json +1 -0
  696. package/embedded-knowledge/indexes/tags/task-scheduler.json +1 -0
  697. package/embedded-knowledge/indexes/tags/telemetry.json +1 -0
  698. package/embedded-knowledge/indexes/tags/template-method.json +1 -0
  699. package/embedded-knowledge/indexes/tags/temporary-tables.json +1 -0
  700. package/embedded-knowledge/indexes/tags/testfield.json +1 -0
  701. package/embedded-knowledge/indexes/tags/tradeoffs.json +1 -0
  702. package/embedded-knowledge/indexes/tags/triggers.json +1 -0
  703. package/embedded-knowledge/indexes/tags/troubleshooting.json +1 -0
  704. package/embedded-knowledge/indexes/tags/type-safety.json +1 -0
  705. package/embedded-knowledge/indexes/tags/url-structure.json +1 -0
  706. package/embedded-knowledge/indexes/tags/user-experience.json +1 -0
  707. package/embedded-knowledge/indexes/tags/user-feedback.json +1 -0
  708. package/embedded-knowledge/indexes/tags/user-interface.json +1 -0
  709. package/embedded-knowledge/indexes/tags/validation-feedback.json +1 -0
  710. package/embedded-knowledge/indexes/tags/validation.json +1 -0
  711. package/embedded-knowledge/indexes/tags/variables.json +1 -0
  712. package/embedded-knowledge/indexes/tags/verbosity.json +1 -0
  713. package/embedded-knowledge/indexes/tags/vs-code.json +1 -0
  714. package/embedded-knowledge/indexes/tags/web-services.json +1 -0
  715. package/embedded-knowledge/indexes/tags/workflow-management.json +1 -0
  716. package/embedded-knowledge/indexes/tags/workflow-optimization.json +1 -0
  717. package/embedded-knowledge/indexes/tags/workflow-templates.json +1 -0
  718. package/embedded-knowledge/indexes/tags/workspace.json +1 -0
  719. package/embedded-knowledge/indexes/tags/xml-documentation.json +1 -0
  720. package/embedded-knowledge/indexes/topic-relationships.json +128 -0
  721. package/embedded-knowledge/methodologies/index.json +81 -0
  722. package/embedded-knowledge/methodologies/phases/analysis-full.md +208 -0
  723. package/embedded-knowledge/methodologies/phases/analysis-quick.md +44 -0
  724. package/embedded-knowledge/methodologies/phases/analysis.md +182 -0
  725. package/embedded-knowledge/methodologies/phases/execution-validation-full.md +174 -0
  726. package/embedded-knowledge/methodologies/phases/execution-validation-quick.md +31 -0
  727. package/embedded-knowledge/methodologies/phases/execution-validation.md +174 -0
  728. package/embedded-knowledge/methodologies/phases/performance-full.md +211 -0
  729. package/embedded-knowledge/methodologies/phases/performance-quick.md +32 -0
  730. package/embedded-knowledge/methodologies/phases/performance.md +211 -0
  731. package/embedded-knowledge/methodologies/phases/verification-full.md +162 -0
  732. package/embedded-knowledge/methodologies/phases/verification-quick.md +48 -0
  733. package/embedded-knowledge/methodologies/phases/verification.md +146 -0
  734. package/embedded-knowledge/methodologies/workflow-enforcement.md +142 -0
  735. package/embedded-knowledge/methodologies/workflows/code-review-workflow.md +99 -0
  736. package/embedded-knowledge/methodologies/workflows/proposal-review-workflow.md +535 -0
  737. package/embedded-knowledge/specialists/alex-architect.md +305 -0
  738. package/embedded-knowledge/specialists/casey-copilot.md +314 -0
  739. package/embedded-knowledge/specialists/chris-config.md +226 -0
  740. package/embedded-knowledge/specialists/dean-debug.md +365 -0
  741. package/embedded-knowledge/specialists/eva-errors.md +291 -0
  742. package/embedded-knowledge/specialists/jordan-bridge.md +291 -0
  743. package/embedded-knowledge/specialists/logan-legacy.md +265 -0
  744. package/embedded-knowledge/specialists/maya-mentor.md +299 -0
  745. package/embedded-knowledge/specialists/morgan-market.md +281 -0
  746. package/embedded-knowledge/specialists/parker-pragmatic.md +564 -0
  747. package/embedded-knowledge/specialists/quinn-tester.md +323 -0
  748. package/embedded-knowledge/specialists/roger-reviewer.md +317 -0
  749. package/embedded-knowledge/specialists/sam-coder.md +342 -0
  750. package/embedded-knowledge/specialists/seth-security.md +290 -0
  751. package/embedded-knowledge/specialists/taylor-docs.md +312 -0
  752. package/embedded-knowledge/specialists/uma-ux.md +291 -0
  753. package/package.json +82 -0
@@ -0,0 +1,58 @@
1
+ # Contributing to Business Central Knowledge Base
2
+
3
+ ## Overview
4
+ This repository contains pure knowledge content for Business Central best practices. All content is markdown with YAML frontmatter.
5
+
6
+ ## Content Standards
7
+
8
+ ### File Structure
9
+ Each knowledge topic follows this structure:
10
+ ```markdown
11
+ ---
12
+ title: "Topic Title"
13
+ domain: "performance"
14
+ difficulty: "intermediate"
15
+ bc_versions: "14+"
16
+ tags: ["sift", "optimization", "database"]
17
+ related_topics: ["topic-id-1", "topic-id-2"]
18
+ ---
19
+
20
+ # Topic Title
21
+
22
+ Content here following established patterns...
23
+ ```
24
+
25
+ ### Quality Requirements
26
+ - **Atomic Focus**: One concept per file
27
+ - **BC Version Compatibility**: Always specify version ranges
28
+ - **Complete Frontmatter**: All required YAML fields present
29
+ - **Cross-References**: Link to related topics where appropriate
30
+ - **Consistent Formatting**: Follow existing markdown patterns
31
+
32
+ ## Submission Process
33
+ 1. Fork the repository
34
+ 2. Create content following established patterns in appropriate domain directory
35
+ 3. Ensure YAML frontmatter is complete and valid
36
+ 4. Test that internal links work correctly
37
+ 5. Submit pull request with clear description of the knowledge added/updated
38
+
39
+ ## Content Validation
40
+ Pull requests are automatically validated for:
41
+ - YAML frontmatter completeness
42
+ - BC version compatibility format
43
+ - Internal link integrity
44
+ - Proper domain/directory placement
45
+ - Markdown formatting consistency
46
+
47
+ ## Domain Organization
48
+ Place content in appropriate domain directories:
49
+ - `domains/performance/` - Performance optimization
50
+ - `domains/api-design/` - REST/OData patterns
51
+ - `domains/security/` - Authentication/authorization
52
+ - `domains/data-architecture/` - Table design
53
+ - [See full domain list in repository structure]
54
+
55
+ ## Getting Help
56
+ - Review existing topics for patterns
57
+ - Check AGENTS.md for AI assistant guidance
58
+ - Open issues for questions about content organization
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Business Central Knowledge Base
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,32 @@
1
+ # BC Code Intelligence Knowledge Base
2
+
3
+ Pure knowledge content repository for Business Central best practices, methodologies, and domain expertise.
4
+
5
+ ## Structure
6
+ - `/domains/` - 24 BC domains with 87+ atomic knowledge topics
7
+ - `/methodologies/` - AI workflow frameworks for systematic optimization
8
+ - `/specialists/` - 14 AI persona definitions for focused expertise
9
+ - `/prompts/` - Strategic prompts for common BC scenarios
10
+
11
+ ## Specialists
12
+ Complete roster of 14 BC development specialists:
13
+ - **Alex Architect** - Strategic Planning & Architecture
14
+ - **Casey Copilot** - AI-Enhanced Development Coach
15
+ - **Dean Debug** - Performance & Troubleshooting
16
+ - **Eva Errors** - Error Handling & Exception Management
17
+ - **Jordan Bridge** - Systems Connection & Event-Driven Design
18
+ - **Logan Legacy** - Legacy Code & Version Migration
19
+ - **Maya Mentor** - Learning & Skill Development
20
+ - **Morgan Market** - AppSource & ISV Business Expert
21
+ - **Quinn Tester** - Quality Validation & Test Design
22
+ - **Roger Reviewer** - Code Quality & Review Standards
23
+ - **Sam Coder** - Efficient Implementation Expert
24
+ - **Seth Security** - Security & Permission Management
25
+ - **Taylor Docs** - Documentation & Knowledge Management
26
+ - **Uma UX** - User Experience & Interface Design
27
+
28
+ ## Usage
29
+ This repository is consumed by the BC Code Intelligence MCP server via git submodule. Content is pure markdown with YAML frontmatter.
30
+
31
+ ## Contributing
32
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for content standards and submission process.
@@ -0,0 +1,90 @@
1
+ ---
2
+ title: "API Delegate Operation Pattern"
3
+ domain: "alex-architect"
4
+ difficulty: "advanced"
5
+ bc_versions: "14+"
6
+ tags: ["api-delegates", "operation-delegation", "api-patterns", "extensibility"]
7
+ prerequisites: ["api-basics", "interface-implementation", "event-handling"]
8
+ samples: "samples/api-delegate-operation.md"
9
+ related_topics: ["api-interface-design-patterns", "event-bridge-pattern-al"]
10
+ ---
11
+
12
+ # API Delegate Operation Pattern
13
+
14
+ ## Overview
15
+
16
+ The API Delegate Operation Pattern enables flexible API architectures by delegating specific operations to external handlers while maintaining consistent API contracts. This pattern is essential for building extensible APIs that can be enhanced by different modules without modifying core API logic.
17
+
18
+ **Key Benefit**: Provides extensibility points in APIs while maintaining backward compatibility and clear separation of concerns.
19
+
20
+ ## Strategic Framework
21
+
22
+ ### Delegation Architecture
23
+ Design APIs with explicit delegation points where external modules can register operation handlers, enabling customization without API modification.
24
+
25
+ ### Contract Preservation
26
+ Maintain consistent API contracts while allowing internal operation logic to be delegated to specialized handlers based on context or configuration.
27
+
28
+ ### Dynamic Handler Selection
29
+ Implement runtime handler selection mechanisms that choose appropriate delegates based on operation parameters, user context, or system configuration.
30
+
31
+ ## Core Implementation Patterns
32
+
33
+ ### Operation Delegate Interface
34
+ Define clear interfaces for operation delegates that specify input parameters, expected outputs, and error handling contracts.
35
+
36
+ ### Delegate Registry Pattern
37
+ Implement registration systems where modules can register their operation delegates, enabling discovery and selection at runtime.
38
+
39
+ ### Chain of Responsibility Integration
40
+ Combine delegation with chain of responsibility patterns to enable multiple delegates to process operations in sequence.
41
+
42
+ ## Advanced Delegation Strategies
43
+
44
+ ### Contextual Delegation
45
+ Use operation context (user, company, feature flags) to determine which delegate should handle specific operations.
46
+
47
+ ### Fallback Delegate Chains
48
+ Implement fallback mechanisms where multiple delegates can be attempted if primary delegates fail or are unavailable.
49
+
50
+ ### Composite Operation Delegation
51
+ Design delegates that can compose multiple sub-operations, enabling complex operation workflows through delegation.
52
+
53
+ ## Performance Considerations
54
+
55
+ ### Delegate Caching
56
+ Cache delegate instances and registration information to minimize lookup overhead during high-frequency API operations.
57
+
58
+ ### Lazy Delegate Loading
59
+ Implement lazy loading patterns for delegates to avoid unnecessary initialization overhead for unused operation paths.
60
+
61
+ ### Operation Profiling
62
+ Monitor delegate operation performance to identify bottlenecks and optimize critical delegation paths.
63
+
64
+ ## Best Practices
65
+
66
+ ### Design Principles
67
+ - Define clear delegate contracts with explicit input/output specifications
68
+ - Implement robust error handling for delegate failures
69
+ - Use dependency injection for delegate registration and discovery
70
+ - Document delegation points and available extension mechanisms
71
+
72
+ ### Security Considerations
73
+ - Validate delegate operations for security compliance
74
+ - Implement authorization checks for delegate registration
75
+ - Ensure delegate operations respect user permissions and data access rules
76
+
77
+ ## Common Pitfalls
78
+
79
+ ### Over-Delegation
80
+ Avoid creating too many delegation points that make API behavior unpredictable or difficult to debug.
81
+
82
+ ### Delegate Coupling
83
+ Prevent tight coupling between API logic and specific delegate implementations that reduces flexibility.
84
+
85
+ ### Performance Overhead
86
+ Be mindful of delegation overhead in performance-critical scenarios where direct operation execution might be more appropriate.
87
+
88
+ *Complete delegation implementation: samples/api-delegate-operation.md*
89
+ *API design patterns: api-interface-design-patterns.md*
90
+ *Event-driven delegation: event-bridge-pattern-al.md*
@@ -0,0 +1,113 @@
1
+ ---
2
+ title: "API Fieldset Registration Pattern"
3
+ domain: "alex-architect"
4
+ difficulty: "intermediate"
5
+ bc_versions: "14+"
6
+ tags: ["api-fieldsets", "field-registration", "api-extensibility", "metadata-driven"]
7
+ prerequisites: ["api-basics", "fieldset-concepts", "registration-patterns"]
8
+ samples: "samples/api-fieldset-registration.md"
9
+ related_topics: ["api-interface-design-patterns", "api-delegate-operation-pattern"]
10
+ ---
11
+
12
+ # API Fieldset Registration Pattern
13
+
14
+ ## Overview
15
+
16
+ The API Fieldset Registration Pattern enables dynamic field management in APIs by allowing modules to register field definitions that can be included in API responses. This pattern supports extensible APIs where different modules can contribute fields without modifying core API logic.
17
+
18
+ **Key Benefit**: Enables flexible, extensible APIs where field availability can be determined dynamically based on installed modules and user permissions.
19
+
20
+ ## Strategic Framework
21
+
22
+ ### Dynamic Field Discovery
23
+ Implement registration mechanisms where modules can register field definitions that become available for API consumption based on runtime conditions.
24
+
25
+ ### Metadata-Driven Selection
26
+ Use metadata to describe field characteristics, enabling intelligent field selection based on client requirements and system capabilities.
27
+
28
+ ### Permission-Aware Fields
29
+ Integrate field registration with permission systems to ensure only authorized fields are exposed through API responses.
30
+
31
+ ## Core Registration Patterns
32
+
33
+ ### Module-Based Registration
34
+ Enable modules to register their field contributions during initialization, allowing for modular field extension without core API changes.
35
+
36
+ ### Conditional Field Registration
37
+ Implement registration logic that considers system configuration, feature flags, and user context to determine field availability.
38
+
39
+ ### Hierarchical Field Organization
40
+ Organize registered fields in hierarchical structures that support grouping, categorization, and efficient lookup operations.
41
+
42
+ ## Implementation Strategies
43
+
44
+ ### Registry Architecture
45
+ Design field registries that support efficient lookup, validation, and metadata management for dynamic field selection.
46
+
47
+ ### Field Metadata Management
48
+ Implement comprehensive field metadata including data types, validation rules, permission requirements, and display characteristics.
49
+
50
+ ### Selection Optimization
51
+ Optimize field selection algorithms to minimize performance impact when processing large numbers of registered fields.
52
+
53
+ ## Advanced Registration Features
54
+
55
+ ### Field Dependency Management
56
+ Implement dependency tracking between fields to ensure required fields are included when dependent fields are selected.
57
+
58
+ ### Field Transformation Pipelines
59
+ Design transformation pipelines that can modify field values during API response generation based on registration metadata.
60
+
61
+ ### Caching Strategies
62
+ Implement caching for field registration data to improve API response performance for frequently accessed field sets.
63
+
64
+ ## Performance Considerations
65
+
66
+ ### Registration Overhead
67
+ Minimize registration overhead through efficient storage and indexing of field metadata and registration information.
68
+
69
+ ### Selection Performance
70
+ Optimize field selection algorithms to support high-frequency API operations without significant performance degradation.
71
+
72
+ ### Memory Management
73
+ Implement efficient memory management for field registration data to prevent memory leaks and excessive resource usage.
74
+
75
+ ## Security and Validation
76
+
77
+ ### Permission Integration
78
+ - Integrate field registration with permission systems
79
+ - Validate user authorization for specific field access
80
+ - Implement field-level security policies
81
+ - Support dynamic permission evaluation
82
+
83
+ ### Data Validation
84
+ - Validate registered field definitions for correctness
85
+ - Implement runtime validation of field values
86
+ - Support custom validation rules per registered field
87
+ - Ensure data type consistency across registrations
88
+
89
+ ## Best Practices
90
+
91
+ ### Registration Design
92
+ - Use strongly-typed field registration interfaces
93
+ - Implement clear naming conventions for registered fields
94
+ - Provide comprehensive metadata for each registered field
95
+ - Support registration validation and error reporting
96
+
97
+ ### API Integration
98
+ - Design consistent field selection patterns across API endpoints
99
+ - Implement clear documentation for available fields
100
+ - Support field discovery mechanisms for API consumers
101
+ - Provide examples of field selection usage
102
+
103
+ ## Common Pitfalls
104
+
105
+ ### Over-Registration
106
+ Avoid registering too many fields that can overwhelm API consumers and impact performance through excessive selection overhead.
107
+
108
+ ### Inconsistent Metadata
109
+ Prevent inconsistent field metadata that can lead to unpredictable API behavior and difficult debugging scenarios.
110
+
111
+ *Complete fieldset registration examples: samples/api-fieldset-registration.md*
112
+ *API interface patterns: api-interface-design-patterns.md*
113
+ *Dynamic API patterns: api-delegate-operation-pattern.md*
@@ -0,0 +1,101 @@
1
+ ---
2
+ title: "API Interface Design Patterns"
3
+ domain: "alex-architect"
4
+ difficulty: "intermediate"
5
+ bc_versions: "14+"
6
+ tags: ["api-interfaces", "contract-design", "api-patterns", "interface-segregation"]
7
+ prerequisites: ["interface-basics", "api-fundamentals", "contract-design"]
8
+ samples: "samples/api-interface-design.md"
9
+ related_topics: ["api-delegate-operation-pattern", "api-fieldset-registration-pattern"]
10
+ ---
11
+
12
+ # API Interface Design Patterns
13
+
14
+ ## Overview
15
+
16
+ API Interface Design Patterns provide proven approaches for creating maintainable, extensible, and user-friendly API contracts. These patterns ensure APIs remain stable while supporting evolution and provide clear contracts for consumers.
17
+
18
+ **Key Benefit**: Creates predictable, maintainable API contracts that support long-term evolution without breaking existing consumers.
19
+
20
+ ## Core Design Principles
21
+
22
+ ### Interface Segregation
23
+ Design focused interfaces that serve specific purposes rather than monolithic interfaces that attempt to handle all scenarios.
24
+
25
+ ### Contract Stability
26
+ Maintain backward compatibility through careful interface evolution strategies and versioning approaches.
27
+
28
+ ### Consumer-Centric Design
29
+ Design interfaces from the consumer perspective, optimizing for common usage patterns and developer experience.
30
+
31
+ ## Essential Interface Patterns
32
+
33
+ ### Command-Query Separation
34
+ Separate interfaces for operations that modify state (commands) from those that retrieve data (queries), enabling clearer contracts and better optimization opportunities.
35
+
36
+ ### Fluent Interface Pattern
37
+ Design method chaining interfaces that enable expressive, readable API usage while maintaining type safety and clear operation sequencing.
38
+
39
+ ### Builder Interface Pattern
40
+ Implement builder-style interfaces for complex object construction scenarios where multiple optional parameters need to be specified.
41
+
42
+ ## Versioning and Evolution Strategies
43
+
44
+ ### Additive Interface Evolution
45
+ Design interfaces to support evolution through additive changes that don't break existing consumers while enabling new functionality.
46
+
47
+ ### Interface Composition
48
+ Use interface composition to build complex API contracts from smaller, focused interface components that can evolve independently.
49
+
50
+ ### Deprecation Patterns
51
+ Implement clear deprecation strategies that provide migration paths for consumers while enabling interface evolution.
52
+
53
+ ## Advanced Interface Patterns
54
+
55
+ ### Contextual Interface Adaptation
56
+ Design interfaces that adapt their behavior based on context (user permissions, feature flags, system configuration) while maintaining consistent contracts.
57
+
58
+ ### Generic Interface Patterns
59
+ Use generic interfaces to provide type-safe operations across different data types while maintaining consistent operation patterns.
60
+
61
+ ### Callback Interface Integration
62
+ Integrate callback interfaces for asynchronous operations and event handling while maintaining clear contract boundaries.
63
+
64
+ ## Implementation Guidelines
65
+
66
+ ### Parameter Design
67
+ - Use strongly-typed parameters with clear naming conventions
68
+ - Implement validation at interface boundaries
69
+ - Provide clear documentation for parameter requirements and constraints
70
+ - Consider parameter object patterns for complex method signatures
71
+
72
+ ### Return Value Patterns
73
+ - Design consistent return value patterns across interface methods
74
+ - Use result objects for operations that can fail with detailed error information
75
+ - Implement null object patterns where appropriate to avoid null reference issues
76
+
77
+ ## Best Practices
78
+
79
+ ### Documentation Standards
80
+ - Provide comprehensive interface documentation with examples
81
+ - Document expected behaviors, side effects, and error conditions
82
+ - Include performance characteristics and usage guidelines
83
+ - Maintain versioning documentation for interface evolution
84
+
85
+ ### Error Handling Design
86
+ - Design consistent error handling patterns across all interface methods
87
+ - Use typed exceptions or result objects for error communication
88
+ - Provide actionable error messages for consumers
89
+ - Implement proper error recovery guidance
90
+
91
+ ## Common Pitfalls
92
+
93
+ ### Interface Bloat
94
+ Avoid creating large interfaces that try to handle too many scenarios, making them difficult to implement and maintain.
95
+
96
+ ### Breaking Changes
97
+ Prevent accidental breaking changes through careful interface evolution planning and comprehensive testing strategies.
98
+
99
+ *Complete interface design examples: samples/api-interface-design.md*
100
+ *Delegation patterns: api-delegate-operation-pattern.md*
101
+ *Registration patterns: api-fieldset-registration-pattern.md*
@@ -0,0 +1,87 @@
1
+ ---
2
+ title: "AL API Page Development Patterns"
3
+ domain: "alex-architect"
4
+ difficulty: "intermediate"
5
+ bc_versions: "14+"
6
+ tags: ["api", "pages", "odata", "integration", "architecture"]
7
+ samples: "samples/api-page-implementation.md"
8
+ type: "implementation-pattern"
9
+ category: "api-development"
10
+ pattern_type: "good"
11
+ severity: "medium"
12
+ impact_level: "high"
13
+ improvement_suggestion: "Use API pages for structured external system integration"
14
+ implementation_steps: ["design-api-structure", "implement-field-exposure", "optimize-performance"]
15
+ validation_criteria: ["odata-compliance", "security-integration", "performance-optimization"]
16
+ technical_areas: ["al-code", "integration"]
17
+ ---
18
+
19
+ # AL API Page Development Patterns
20
+
21
+ ## Overview
22
+
23
+ API pages in Business Central provide structured OData endpoints for external system integration. Unlike standard pages, API pages focus exclusively on data exchange with minimal UI considerations, requiring careful design for optimal performance and maintainability.
24
+
25
+ **Key Decision**: API pages should expose logical business entities rather than raw table structures, providing stable integration contracts that abstract internal data organization.
26
+
27
+ ## Strategic Framework
28
+
29
+ ### API Page Design Philosophy
30
+ - **Business Entity Focus**: Expose meaningful business concepts (Customer, Item, SalesOrder) rather than normalized table structures
31
+ - **Contract Stability**: Maintain consistent field names and structures across BC versions to protect integration investments
32
+ - **Performance Optimization**: Design for efficient data retrieval and modification patterns expected by consuming applications
33
+ - **Security Integration**: Leverage BC's built-in authentication and authorization without exposing sensitive internal structures
34
+
35
+ ### Integration Architecture Patterns
36
+ API pages serve as the primary integration layer between Business Central and external systems. They should provide complete business entity representations while maintaining clear separation between internal data models and external contracts.
37
+
38
+ ## Architecture Focus
39
+
40
+ ### Page Structure Design
41
+ API pages require specific architectural considerations distinct from interactive pages. The PageType API designation enables OData endpoint generation with automatic JSON serialization and standardized query capabilities.
42
+
43
+ ### Field Exposure Strategy
44
+ Expose fields that represent complete business entity state while avoiding internal implementation details. Include essential business identifiers, descriptive fields, and workflow status information that external systems need for business logic.
45
+
46
+ ### Relationship Management
47
+ Design API pages to include related entity references through careful use of lookup fields and calculated fields. This enables consuming applications to navigate business relationships without requiring multiple API calls.
48
+
49
+ ### Version Compatibility
50
+ Structure API pages to maintain backward compatibility as business requirements evolve. Use consistent naming conventions and avoid breaking changes to established field contracts.
51
+
52
+ ## Best Practices
53
+
54
+ ### Entity Modeling
55
+ - **Complete Business Context**: Include all fields necessary for external systems to make business decisions
56
+ - **Logical Grouping**: Group related information to minimize round-trips for common business scenarios
57
+ - **Status Visibility**: Expose workflow states and business status fields that affect integration logic
58
+ - **Audit Information**: Include creation dates, modification timestamps, and responsible user information
59
+
60
+ ### Performance Considerations
61
+ - **Selective Field Loading**: Design pages to load only necessary fields for common query patterns
62
+ - **Efficient Filtering**: Support standard OData filtering on key business fields like dates, status, and identifiers
63
+ - **Batch Operation Support**: Enable bulk data operations where business processes require them
64
+ - **Caching Awareness**: Structure responses to support effective caching strategies in consuming applications
65
+
66
+ ### Security Implementation
67
+ - **Principle of Least Privilege**: Expose only fields that external systems legitimately need for business operations
68
+ - **Sensitive Data Protection**: Exclude internal identifiers, system fields, and confidential business information
69
+ - **Access Control Integration**: Leverage BC's permission system to control API access at field and record levels
70
+ - **Audit Trail Maintenance**: Ensure API operations create appropriate audit records for compliance requirements
71
+
72
+ ## Anti-Patterns
73
+
74
+ ### Avoid These Approaches
75
+ - **Direct Table Exposure**: Exposing raw table structures without business context abstraction
76
+ - **Internal Field Leakage**: Including system fields, internal identifiers, or implementation details in API contracts
77
+ - **Incomplete Entity Representation**: Requiring multiple API calls to reconstruct basic business entity state
78
+ - **Breaking Contract Changes**: Modifying existing field names or removing fields without proper versioning strategy
79
+
80
+ ### Common Design Mistakes
81
+ - **Over-Normalization**: Creating APIs that mirror database structure rather than business entity logic
82
+ - **Under-Documentation**: Failing to provide clear guidance on field usage and business meaning
83
+ - **Security Oversights**: Exposing sensitive information or bypassing standard BC security mechanisms
84
+ - **Performance Blindness**: Designing APIs without considering query patterns and data volume implications
85
+
86
+ *Implementation examples: see samples/api-page-implementation.md*
87
+ *Related patterns: facade-pattern-external-api.md, api-authentication-patterns.md*
@@ -0,0 +1,155 @@
1
+ ---
2
+ title: "Complex Facade Patterns"
3
+ domain: "alex-architect"
4
+ difficulty: "advanced"
5
+ bc_versions: "14+"
6
+ tags: ["complex-facade", "enterprise-patterns", "multi-layer-facade", "facade-composition"]
7
+ prerequisites: ["facade-pattern-al-implementation", "enterprise-architecture", "advanced-al"]
8
+ samples: "samples/complex-facade-patterns.md"
9
+ related_topics: ["facade-pattern-al-implementation", "enterprise-integration-patterns"]
10
+ ---
11
+
12
+ # Complex Facade Patterns
13
+
14
+ ## Overview
15
+
16
+ Complex Facade Patterns extend basic facade concepts to handle enterprise-scale scenarios involving multiple subsystems, cross-cutting concerns, and sophisticated business logic coordination. These patterns enable management of intricate system architectures while maintaining clean, manageable interfaces.
17
+
18
+ **Key Benefit**: Enables management of complex enterprise systems through sophisticated facade architectures that maintain simplicity for consumers while handling intricate backend coordination.
19
+
20
+ ## Advanced Facade Architectures
21
+
22
+ ### Multi-Layer Facade Systems
23
+ Design facade hierarchies where higher-level facades coordinate lower-level facades, enabling different abstraction levels for different consumer types.
24
+
25
+ ### Composite Facade Coordination
26
+ Implement facade composition patterns where multiple specialized facades work together to provide comprehensive business capability interfaces.
27
+
28
+ ### Domain-Specific Facade Clusters
29
+ Create facade clusters that serve specific business domains while maintaining coordination capabilities for cross-domain operations.
30
+
31
+ ## Enterprise Integration Patterns
32
+
33
+ ### Cross-System Facade Orchestration
34
+ Design facades that coordinate operations across multiple Business Central environments, external systems, and cloud services.
35
+
36
+ ### Transaction-Spanning Facades
37
+ Implement facades that manage distributed transactions and coordination across multiple systems while providing simple operation interfaces.
38
+
39
+ ### Event-Driven Facade Coordination
40
+ Integrate complex facades with event-driven architectures to enable reactive coordination and loose coupling between facade layers.
41
+
42
+ ## Sophisticated Business Logic Patterns
43
+
44
+ ### Workflow Facade Integration
45
+ Design facades that encapsulate complex workflow orchestration, managing state transitions, approvals, and business rule enforcement.
46
+
47
+ ### Policy-Driven Facade Behavior
48
+ Implement facades that adapt their behavior based on business policies, user roles, and dynamic configuration without interface changes.
49
+
50
+ ### Context-Sensitive Facade Operations
51
+ Create facades that provide different capabilities and behaviors based on execution context, user permissions, and system state.
52
+
53
+ ## Performance and Scalability Patterns
54
+
55
+ ### Caching-Enabled Facade Architecture
56
+ - Implement multi-level caching within facade hierarchies
57
+ - Design cache invalidation strategies for complex data dependencies
58
+ - Support distributed caching for multi-instance scenarios
59
+ - Optimize cache performance for high-frequency facade operations
60
+
61
+ ### Asynchronous Facade Operations
62
+ - Design asynchronous facade patterns for long-running operations
63
+ - Implement callback and notification mechanisms for async completion
64
+ - Support progress tracking and cancellation for complex operations
65
+ - Enable parallel execution of independent facade operations
66
+
67
+ ## Advanced Error Handling
68
+
69
+ ### Cascade Error Management
70
+ Implement sophisticated error handling that can manage failures across multiple facade layers and subsystem components.
71
+
72
+ ### Recovery and Compensation
73
+ Design compensation patterns that can recover from partial failures in complex operations spanning multiple systems.
74
+
75
+ ### Circuit Breaker Integration
76
+ Integrate circuit breaker patterns within facades to prevent cascade failures and enable graceful degradation.
77
+
78
+ ## Security and Compliance Patterns
79
+
80
+ ### Multi-Tenant Facade Security
81
+ Design facades that handle multi-tenant security concerns while providing unified interfaces across tenant boundaries.
82
+
83
+ ### Compliance-Aware Operations
84
+ Implement facades that automatically handle compliance requirements such as audit logging, data retention, and privacy regulations.
85
+
86
+ ### Permission-Based Facade Adaptation
87
+ Create facades that dynamically adapt their available operations based on user permissions and security policies.
88
+
89
+ ## Monitoring and Diagnostics
90
+
91
+ ### Facade Performance Analytics
92
+ Implement comprehensive performance monitoring across facade hierarchies to identify bottlenecks and optimization opportunities.
93
+
94
+ ### Operation Tracing
95
+ Design distributed tracing capabilities that can track operations across multiple facade layers and subsystem components.
96
+
97
+ ### Health Monitoring
98
+ Create health monitoring systems that can assess the status of complex facade architectures and provide early warning of issues.
99
+
100
+ ## Integration Strategies
101
+
102
+ ### API Gateway Facade Patterns
103
+ Design facades that serve as API gateways, providing external access to complex internal capabilities with appropriate security and rate limiting.
104
+
105
+ ### Microservice Facade Coordination
106
+ Implement facades that coordinate microservice interactions while hiding service discovery, load balancing, and failure handling.
107
+
108
+ ### Legacy System Integration
109
+ Create facades that modernize access to legacy systems while maintaining compatibility and enabling gradual migration strategies.
110
+
111
+ ## Testing Complex Facades
112
+
113
+ ### Multi-Layer Testing Strategies
114
+ - Implement testing strategies that validate facade behavior at multiple abstraction levels
115
+ - Design integration testing that covers complete facade interaction scenarios
116
+ - Support performance testing under realistic load conditions
117
+ - Enable chaos engineering testing for resilience validation
118
+
119
+ ### Mock and Simulation Patterns
120
+ - Create sophisticated mocking strategies for complex facade dependencies
121
+ - Design simulation capabilities for testing facade behavior under various conditions
122
+ - Support A/B testing for facade behavior changes
123
+ - Enable testing of failure scenarios and recovery patterns
124
+
125
+ ## Best Practices
126
+
127
+ ### Architectural Principles
128
+ - Maintain clear separation of concerns across facade layers
129
+ - Design for both horizontal and vertical scaling requirements
130
+ - Implement comprehensive monitoring and observability
131
+ - Plan for facade evolution and migration strategies
132
+
133
+ ### Operational Excellence
134
+ - Provide detailed documentation for complex facade architectures
135
+ - Implement automated testing and deployment pipelines
136
+ - Support configuration management for complex facade behaviors
137
+ - Maintain clear operational procedures for complex facade management
138
+
139
+ ## Common Pitfalls
140
+
141
+ ### Over-Engineering
142
+ Avoid creating unnecessarily complex facade architectures that become harder to maintain than the systems they're meant to simplify.
143
+
144
+ ### Performance Overhead
145
+ Prevent facade layers from introducing significant performance overhead that negates the benefits of system simplification.
146
+
147
+ ### Tight Coupling
148
+ Avoid creating tight coupling between facade layers that reduces system flexibility and makes changes difficult.
149
+
150
+ ### Monitoring Gaps
151
+ Ensure comprehensive monitoring coverage across all facade layers to prevent issues from going undetected in complex architectures.
152
+
153
+ *Complete complex facade examples: samples/complex-facade-patterns.md*
154
+ *Basic facade patterns: facade-pattern-al-implementation.md*
155
+ *Enterprise integration: enterprise-integration-patterns.md*