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 @@
1
+ {"version":3,"file":"code-analysis-service.js","sourceRoot":"","sources":["../../src/services/code-analysis-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import { AtomicTopic, TopicSearchParams, TopicSearchResult, BCKBConfig } from '../types/bc-knowledge.js';
2
+ import { BCSpecialist, SpecialistConsultation, SpecialistResponse } from '../types/persona-types.js';
3
+ /**
4
+ * Business Central Knowledge Service
5
+ *
6
+ * Manages loading, caching, and searching of atomic BC knowledge topics
7
+ * using the layered architecture system. Provides intelligent topic discovery
8
+ * and relationship traversal with support for project overrides.
9
+ */
10
+ export declare class KnowledgeService {
11
+ private config;
12
+ private layerService;
13
+ private initialized;
14
+ private personaRegistry;
15
+ constructor(config: BCKBConfig);
16
+ /**
17
+ * Initialize the knowledge service by loading all layers
18
+ */
19
+ initialize(): Promise<void>;
20
+ private getTagIndexes;
21
+ /**
22
+ * Search for topics based on various criteria using the layer system
23
+ */
24
+ searchTopics(params: TopicSearchParams): Promise<TopicSearchResult[]>;
25
+ /**
26
+ * Get a specific topic by ID with layer resolution
27
+ */
28
+ getTopic(topicId: string, includeSamples?: boolean): Promise<AtomicTopic | null>;
29
+ /**
30
+ * Get topic relationships and learning paths from layers
31
+ */
32
+ getTopicRelationships(topicId: string): Promise<any>;
33
+ /**
34
+ * Find learning pathways that include this topic
35
+ */
36
+ private findLearningPathways;
37
+ /**
38
+ * Find topics related by domain using layer system
39
+ */
40
+ private findRelatedByDomain;
41
+ /**
42
+ * Find topics by type from frontmatter (e.g., 'code-pattern', 'workflow')
43
+ */
44
+ findTopicsByType(type: string): Promise<AtomicTopic[]>;
45
+ /**
46
+ * Get knowledge base statistics from layer system
47
+ */
48
+ getStatistics(): {
49
+ total_topics: number;
50
+ total_layers: number;
51
+ layer_details: import("../types/layer-types.js").LayerStatistics[];
52
+ domains: any;
53
+ most_common_tags: any;
54
+ initialized: boolean;
55
+ last_loaded: string;
56
+ memory_usage: number;
57
+ };
58
+ /**
59
+ * Search topics by specialist persona
60
+ */
61
+ searchTopicsBySpecialist(specialistId: string, query?: string, limit?: number): Promise<TopicSearchResult[]>;
62
+ /**
63
+ * Get specialist consultation for a specific topic
64
+ */
65
+ getSpecialistConsultation(topicId: string, question?: string): Promise<SpecialistConsultation>;
66
+ /**
67
+ * Natural language specialist consultation
68
+ */
69
+ askSpecialist(question: string, specialistId?: string): Promise<SpecialistResponse>;
70
+ /**
71
+ * Get all available specialists
72
+ */
73
+ getAllSpecialists(): BCSpecialist[];
74
+ /**
75
+ * Get specialists by expertise area
76
+ */
77
+ getSpecialistsByExpertise(expertiseArea: string): BCSpecialist[];
78
+ /**
79
+ * Get specialist collaboration recommendations
80
+ */
81
+ getCollaboratingSpecialists(primarySpecialistId: string, question: string): BCSpecialist[];
82
+ /**
83
+ * Find specialists by search query
84
+ */
85
+ findSpecialistsByQuery(query: string): BCSpecialist[];
86
+ private generateConsultationApproach;
87
+ private generateExpertiseContext;
88
+ private generateConsultationGuidance;
89
+ private generateFollowUpSuggestions;
90
+ }
91
+ //# sourceMappingURL=knowledge-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-service.d.ts","sourceRoot":"","sources":["../../src/services/knowledge-service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACX,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,kBAAkB,EAEnB,MAAM,2BAA2B,CAAC;AAEnC;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAKf,OAAO,CAAC,MAAM;IAJ1B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAkB;gBAErB,MAAM,EAAE,UAAU;IAYtC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAkCjC,OAAO,CAAC,aAAa;IAsBrB;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAU3E;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,UAAQ,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAkBpF;;OAEG;IACG,qBAAqB,CAAC,OAAO,EAAE,MAAM;IAsB3C;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;OAEG;YACW,mBAAmB;IAsBjC;;OAEG;IACG,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAkB5D;;OAEG;IACH,aAAa;;;;;;;;;;IAyBb;;OAEG;IACG,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAmB9G;;OAEG;IACG,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA4BpG;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAoCzF;;OAEG;IACH,iBAAiB,IAAI,YAAY,EAAE;IAInC;;OAEG;IACH,yBAAyB,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,EAAE;IAIhE;;OAEG;IACH,2BAA2B,CAAC,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE;IAQ1F;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE;IAiBrD,OAAO,CAAC,4BAA4B;IAUpC,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,4BAA4B;IAgBpC,OAAO,CAAC,2BAA2B;CAyBpC"}
@@ -0,0 +1,370 @@
1
+ import { LayerService } from '../layers/layer-service.js';
2
+ import { PersonaRegistry } from '../types/persona-types.js';
3
+ /**
4
+ * Business Central Knowledge Service
5
+ *
6
+ * Manages loading, caching, and searching of atomic BC knowledge topics
7
+ * using the layered architecture system. Provides intelligent topic discovery
8
+ * and relationship traversal with support for project overrides.
9
+ */
10
+ export class KnowledgeService {
11
+ config;
12
+ layerService;
13
+ initialized = false;
14
+ personaRegistry;
15
+ constructor(config) {
16
+ this.config = config;
17
+ // Initialize layer service with embedded knowledge from submodule
18
+ // For testing, use the knowledge_base_path directly if it doesn't contain embedded-knowledge
19
+ const embeddedPath = config.knowledge_base_path.includes('embedded-knowledge')
20
+ ? config.knowledge_base_path
21
+ : config.knowledge_base_path.replace(/\/knowledge-base$/, '/embedded-knowledge');
22
+ console.error(`🔧 Using embedded path: ${embeddedPath}`);
23
+ this.layerService = new LayerService(embeddedPath, './bckb-overrides');
24
+ this.personaRegistry = PersonaRegistry.getInstance();
25
+ }
26
+ /**
27
+ * Initialize the knowledge service by loading all layers
28
+ */
29
+ async initialize() {
30
+ if (this.initialized)
31
+ return;
32
+ console.error('🔄 Initializing BC Knowledge Service with Layer System...');
33
+ try {
34
+ // Initialize the layer service (loads embedded + project layers)
35
+ const layerResults = await this.layerService.initialize();
36
+ this.initialized = true;
37
+ // Log initialization results
38
+ const successfulLayers = layerResults.filter(r => r.success);
39
+ const totalTopics = successfulLayers.reduce((sum, r) => sum + r.topicsLoaded, 0);
40
+ console.error(`✅ Knowledge Service initialized with ${successfulLayers.length}/${layerResults.length} layers and ${totalTopics} total topics`);
41
+ // Log layer details
42
+ for (const result of layerResults) {
43
+ if (result.success) {
44
+ console.error(` 📚 ${result.layerName}: ${result.topicsLoaded} topics, ${result.indexesLoaded} indexes (${result.loadTimeMs}ms)`);
45
+ }
46
+ else {
47
+ console.error(` ❌ ${result.layerName}: Failed - ${result.error}`);
48
+ }
49
+ }
50
+ }
51
+ catch (error) {
52
+ console.error('❌ Failed to initialize Knowledge Service:', error);
53
+ throw error;
54
+ }
55
+ }
56
+ // Tag indexes are now handled by individual layers
57
+ // This method is kept for backward compatibility but delegates to layers
58
+ getTagIndexes() {
59
+ const tagIndexes = new Map();
60
+ // Get tag indexes from embedded layer
61
+ const embeddedLayer = this.layerService.getLayer('embedded');
62
+ if (embeddedLayer && 'getIndex' in embeddedLayer) {
63
+ // Access embedded layer indexes if available
64
+ const indexNames = embeddedLayer.getIndexNames?.() || [];
65
+ for (const indexName of indexNames) {
66
+ if (indexName.startsWith('tag:')) {
67
+ const tagName = indexName.replace('tag:', '');
68
+ const tagIndex = embeddedLayer.getIndex?.(indexName);
69
+ if (tagIndex) {
70
+ tagIndexes.set(tagName, tagIndex);
71
+ }
72
+ }
73
+ }
74
+ }
75
+ return tagIndexes;
76
+ }
77
+ /**
78
+ * Search for topics based on various criteria using the layer system
79
+ */
80
+ async searchTopics(params) {
81
+ if (!this.initialized) {
82
+ await this.initialize();
83
+ }
84
+ // Delegate to layer service for unified search across all layers
85
+ return await this.layerService.searchTopics(params);
86
+ }
87
+ /**
88
+ * Get a specific topic by ID with layer resolution
89
+ */
90
+ async getTopic(topicId, includeSamples = false) {
91
+ if (!this.initialized) {
92
+ await this.initialize();
93
+ }
94
+ // Resolve topic through layer system
95
+ const resolution = await this.layerService.resolveTopic(topicId);
96
+ if (!resolution)
97
+ return null;
98
+ // Return copy to prevent mutation
99
+ const result = { ...resolution.topic };
100
+ if (!includeSamples) {
101
+ delete result.samples;
102
+ }
103
+ return result;
104
+ }
105
+ /**
106
+ * Get topic relationships and learning paths from layers
107
+ */
108
+ async getTopicRelationships(topicId) {
109
+ if (!this.initialized) {
110
+ await this.initialize();
111
+ }
112
+ // Get relationships from embedded layer
113
+ const embeddedLayer = this.layerService.getLayer('embedded');
114
+ if (!embeddedLayer || !('getIndex' in embeddedLayer))
115
+ return null;
116
+ const topicRelationships = embeddedLayer.getIndex?.('topic-relationships');
117
+ if (!topicRelationships)
118
+ return null;
119
+ const relationships = topicRelationships.topic_relationships?.[topicId];
120
+ if (!relationships)
121
+ return null;
122
+ return {
123
+ ...relationships,
124
+ learning_pathways: this.findLearningPathways(topicId, topicRelationships),
125
+ related_by_domain: await this.findRelatedByDomain(topicId)
126
+ };
127
+ }
128
+ /**
129
+ * Find learning pathways that include this topic
130
+ */
131
+ findLearningPathways(topicId, topicRelationships) {
132
+ if (!topicRelationships?.learning_pathways)
133
+ return [];
134
+ const pathways = [];
135
+ for (const [pathwayName, topics] of Object.entries(topicRelationships.learning_pathways)) {
136
+ if (Array.isArray(topics) && topics.includes(topicId)) {
137
+ pathways.push(pathwayName);
138
+ }
139
+ }
140
+ return pathways;
141
+ }
142
+ /**
143
+ * Find topics related by domain using layer system
144
+ */
145
+ async findRelatedByDomain(topicId) {
146
+ const resolution = await this.layerService.resolveTopic(topicId);
147
+ if (!resolution)
148
+ return [];
149
+ const targetDomain = resolution.topic.frontmatter.domain;
150
+ const allTopicIds = this.layerService.getAllTopicIds();
151
+ const relatedTopics = [];
152
+ // Check first 50 topics to avoid performance issues
153
+ for (const otherTopicId of allTopicIds.slice(0, 50)) {
154
+ if (otherTopicId !== topicId) {
155
+ const otherResolution = await this.layerService.resolveTopic(otherTopicId);
156
+ if (otherResolution?.topic.frontmatter.domain === targetDomain) {
157
+ relatedTopics.push(otherTopicId);
158
+ if (relatedTopics.length >= 10)
159
+ break; // Limit to 10
160
+ }
161
+ }
162
+ }
163
+ return relatedTopics;
164
+ }
165
+ /**
166
+ * Find topics by type from frontmatter (e.g., 'code-pattern', 'workflow')
167
+ */
168
+ async findTopicsByType(type) {
169
+ if (!this.initialized) {
170
+ await this.initialize();
171
+ }
172
+ try {
173
+ const allTopics = await this.layerService.getAllResolvedTopics();
174
+ return allTopics.filter(topic => {
175
+ const frontmatter = topic.frontmatter;
176
+ return frontmatter && frontmatter.type === type;
177
+ });
178
+ }
179
+ catch (error) {
180
+ console.error(`Error finding topics by type '${type}':`, error);
181
+ return [];
182
+ }
183
+ }
184
+ /**
185
+ * Get knowledge base statistics from layer system
186
+ */
187
+ getStatistics() {
188
+ const layerStats = this.layerService.getLayerStatistics();
189
+ // Get domain catalog from embedded layer
190
+ const embeddedLayer = this.layerService.getLayer('embedded');
191
+ const domainCatalog = embeddedLayer && 'getIndex' in embeddedLayer
192
+ ? embeddedLayer.getIndex?.('domain-catalog')
193
+ : null;
194
+ return {
195
+ total_topics: layerStats.total.totalTopics,
196
+ total_layers: layerStats.total.layers,
197
+ layer_details: layerStats.layers,
198
+ domains: domainCatalog?.domains || {},
199
+ most_common_tags: domainCatalog?.global_statistics?.most_common_tags || [],
200
+ initialized: this.initialized,
201
+ last_loaded: new Date().toISOString(),
202
+ memory_usage: layerStats.total.memoryUsage
203
+ };
204
+ }
205
+ // ============================================================================
206
+ // PERSONA-BASED METHODS
207
+ // ============================================================================
208
+ /**
209
+ * Search topics by specialist persona
210
+ */
211
+ async searchTopicsBySpecialist(specialistId, query, limit = 10) {
212
+ if (!this.initialized) {
213
+ await this.initialize();
214
+ }
215
+ console.error(`🔍 Searching topics for specialist: ${specialistId}, query: "${query}"`);
216
+ // Direct search within specialist's domain folder
217
+ const searchResults = await this.layerService.searchTopics({
218
+ domain: specialistId, // Persona ID as domain
219
+ code_context: query,
220
+ limit
221
+ });
222
+ console.error(`📊 Found ${searchResults.length} results for specialist ${specialistId}`);
223
+ return searchResults;
224
+ }
225
+ /**
226
+ * Get specialist consultation for a specific topic
227
+ */
228
+ async getSpecialistConsultation(topicId, question) {
229
+ if (!this.initialized) {
230
+ await this.initialize();
231
+ }
232
+ const topic = await this.getTopic(topicId);
233
+ if (!topic) {
234
+ throw new Error(`Topic not found: ${topicId}`);
235
+ }
236
+ // Get specialist from topic's domain (should be persona ID)
237
+ const specialist = this.personaRegistry.getSpecialist(topic.frontmatter.domain || '');
238
+ if (!specialist) {
239
+ throw new Error(`No specialist found for domain: ${topic.frontmatter.domain}`);
240
+ }
241
+ // Find related topics in same specialist area
242
+ const relatedTopics = await this.searchTopicsBySpecialist(specialist.id, question, 5);
243
+ return {
244
+ topic,
245
+ specialist,
246
+ consultation_approach: this.generateConsultationApproach(specialist, topic, question),
247
+ related_topics: relatedTopics,
248
+ expertise_context: this.generateExpertiseContext(specialist, topic)
249
+ };
250
+ }
251
+ /**
252
+ * Natural language specialist consultation
253
+ */
254
+ async askSpecialist(question, specialistId) {
255
+ if (!this.initialized) {
256
+ await this.initialize();
257
+ }
258
+ let specialist;
259
+ if (specialistId) {
260
+ // Use specified specialist
261
+ const requestedSpecialist = this.personaRegistry.getSpecialist(specialistId);
262
+ if (!requestedSpecialist) {
263
+ throw new Error(`Unknown specialist: ${specialistId}`);
264
+ }
265
+ specialist = requestedSpecialist;
266
+ }
267
+ else {
268
+ // Infer specialist from question
269
+ const inferredSpecialist = this.personaRegistry.inferSpecialistFromQuestion(question);
270
+ if (!inferredSpecialist) {
271
+ throw new Error('Could not determine appropriate specialist for question. Please specify a specialist ID.');
272
+ }
273
+ specialist = inferredSpecialist;
274
+ }
275
+ // Find relevant knowledge in specialist's domain
276
+ const relevantTopics = await this.searchTopicsBySpecialist(specialist.id, question, 8);
277
+ return {
278
+ specialist,
279
+ question,
280
+ relevant_knowledge: relevantTopics,
281
+ consultation_guidance: this.generateConsultationGuidance(specialist, question, relevantTopics),
282
+ follow_up_suggestions: this.generateFollowUpSuggestions(specialist, question, relevantTopics),
283
+ confidence_level: relevantTopics.length > 0 ? 'high' : 'medium'
284
+ };
285
+ }
286
+ /**
287
+ * Get all available specialists
288
+ */
289
+ getAllSpecialists() {
290
+ return this.personaRegistry.getAllSpecialists();
291
+ }
292
+ /**
293
+ * Get specialists by expertise area
294
+ */
295
+ getSpecialistsByExpertise(expertiseArea) {
296
+ return this.personaRegistry.getSpecialistsByExpertise(expertiseArea);
297
+ }
298
+ /**
299
+ * Get specialist collaboration recommendations
300
+ */
301
+ getCollaboratingSpecialists(primarySpecialistId, question) {
302
+ const primarySpecialist = this.personaRegistry.getSpecialist(primarySpecialistId);
303
+ if (!primarySpecialist) {
304
+ return [];
305
+ }
306
+ return this.personaRegistry.getCollaboratingSpecialists(primarySpecialist, question);
307
+ }
308
+ /**
309
+ * Find specialists by search query
310
+ */
311
+ findSpecialistsByQuery(query) {
312
+ const allSpecialists = this.personaRegistry.getAllSpecialists();
313
+ const queryLower = query.toLowerCase();
314
+ return allSpecialists.filter(specialist => {
315
+ // Search in name, role, or any expertise area
316
+ return specialist.name.toLowerCase().includes(queryLower) ||
317
+ specialist.role.toLowerCase().includes(queryLower) ||
318
+ specialist.expertise_areas.some(area => area.toLowerCase().includes(queryLower)) ||
319
+ specialist.consultation_style.toLowerCase().includes(queryLower);
320
+ });
321
+ }
322
+ // ============================================================================
323
+ // PRIVATE HELPER METHODS FOR PERSONA CONSULTATION
324
+ // ============================================================================
325
+ generateConsultationApproach(specialist, topic, question) {
326
+ const baseApproach = `${specialist.name} approaches this topic with ${specialist.consultation_style.toLowerCase()}.`;
327
+ if (question) {
328
+ return `${baseApproach} For your specific question about "${question}", ${specialist.name} would focus on ${specialist.expertise_areas.slice(0, 3).join(', ')} aspects, providing ${specialist.communication_tone} guidance.`;
329
+ }
330
+ return `${baseApproach} This topic (${topic.frontmatter.title}) aligns with ${specialist.name}'s expertise in ${specialist.expertise_areas.slice(0, 3).join(', ')}.`;
331
+ }
332
+ generateExpertiseContext(specialist, topic) {
333
+ return `${specialist.name} is particularly qualified to discuss "${topic.frontmatter.title}" because of their expertise in: ${specialist.expertise_areas.join(', ')}. Their ${specialist.communication_tone} approach focuses on ${specialist.consultation_style.toLowerCase()}.`;
334
+ }
335
+ generateConsultationGuidance(specialist, question, relevantTopics) {
336
+ let guidance = `${specialist.name} says: "${specialist.consultation_style}"\n\n`;
337
+ if (relevantTopics.length > 0) {
338
+ guidance += `Based on my expertise in ${specialist.expertise_areas.slice(0, 3).join(', ')}, here's what I recommend:\n\n`;
339
+ guidance += `Key knowledge areas to explore:\n`;
340
+ relevantTopics.slice(0, 3).forEach((topic, index) => {
341
+ guidance += `${index + 1}. ${topic.title} - ${topic.summary}\n`;
342
+ });
343
+ }
344
+ else {
345
+ guidance += `While I don't have specific knowledge topics for this exact question, as ${specialist.role}, I'd approach this by focusing on ${specialist.expertise_areas.slice(0, 2).join(' and ')}.`;
346
+ }
347
+ return guidance;
348
+ }
349
+ generateFollowUpSuggestions(specialist, question, relevantTopics) {
350
+ const suggestions = [];
351
+ // Add specialist-specific follow-ups
352
+ if (specialist.typical_questions.length > 0) {
353
+ suggestions.push(`Ask ${specialist.name}: "${specialist.typical_questions[0]}"`);
354
+ }
355
+ // Add topic-based suggestions
356
+ if (relevantTopics.length > 0) {
357
+ suggestions.push(`Explore the "${relevantTopics[0].title}" topic in detail`);
358
+ }
359
+ // Add expertise area suggestions
360
+ const primaryExpertise = specialist.expertise_areas[0];
361
+ suggestions.push(`Learn more about ${primaryExpertise} fundamentals`);
362
+ // Add collaboration suggestions
363
+ const collaborators = this.getCollaboratingSpecialists(specialist.id, question);
364
+ if (collaborators.length > 0) {
365
+ suggestions.push(`Consider also consulting ${collaborators[0].name} for ${collaborators[0].expertise_areas[0]} perspective`);
366
+ }
367
+ return suggestions.slice(0, 4); // Limit to 4 suggestions
368
+ }
369
+ }
370
+ //# sourceMappingURL=knowledge-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-service.js","sourceRoot":"","sources":["../../src/services/knowledge-service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAIL,eAAe,EAChB,MAAM,2BAA2B,CAAC;AAEnC;;;;;;GAMG;AACH,MAAM,OAAO,gBAAgB;IAKP;IAJZ,YAAY,CAAe;IAC3B,WAAW,GAAG,KAAK,CAAC;IACpB,eAAe,CAAkB;IAEzC,YAAoB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QACpC,kEAAkE;QAClE,6FAA6F;QAC7F,MAAM,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YAC5E,CAAC,CAAC,MAAM,CAAC,mBAAmB;YAC5B,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;QAEnF,OAAO,CAAC,KAAK,CAAC,2BAA2B,YAAY,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QACvE,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAE7B,OAAO,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAE3E,IAAI,CAAC;YACH,iEAAiE;YACjE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;YAE1D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAExB,6BAA6B;YAC7B,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC7D,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YAEjF,OAAO,CAAC,KAAK,CAAC,wCAAwC,gBAAgB,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,eAAe,WAAW,eAAe,CAAC,CAAC;YAE/I,oBAAoB;YACpB,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;gBAClC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,OAAO,CAAC,KAAK,CAAC,QAAQ,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,YAAY,YAAY,MAAM,CAAC,aAAa,aAAa,MAAM,CAAC,UAAU,KAAK,CAAC,CAAC;gBACrI,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,SAAS,cAAc,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;YAClE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,yEAAyE;IACjE,aAAa;QACnB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAe,CAAC;QAE1C,sCAAsC;QACtC,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,aAAa,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;YACjD,6CAA6C;YAC7C,MAAM,UAAU,GAAI,aAAqB,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC;YAClE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBACjC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBAC9C,MAAM,QAAQ,GAAI,aAAqB,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC9D,IAAI,QAAQ,EAAE,CAAC;wBACb,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,MAAyB;QAC1C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QAED,iEAAiE;QACjE,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAGD;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,cAAc,GAAG,KAAK;QACpD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QAED,qCAAqC;QACrC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAE7B,kCAAkC;QAClC,MAAM,MAAM,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,OAAe;QACzC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QAED,wCAAwC;QACxC,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,UAAU,IAAI,aAAa,CAAC;YAAE,OAAO,IAAI,CAAC;QAElE,MAAM,kBAAkB,GAAI,aAAqB,CAAC,QAAQ,EAAE,CAAC,qBAAqB,CAAC,CAAC;QACpF,IAAI,CAAC,kBAAkB;YAAE,OAAO,IAAI,CAAC;QAErC,MAAM,aAAa,GAAG,kBAAkB,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC;QACxE,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAEhC,OAAO;YACL,GAAG,aAAa;YAChB,iBAAiB,EAAE,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,CAAC;YACzE,iBAAiB,EAAE,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;SAC3D,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,OAAe,EAAE,kBAAuB;QACnE,IAAI,CAAC,kBAAkB,EAAE,iBAAiB;YAAE,OAAO,EAAE,CAAC;QAEtD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACzF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAAC,OAAe;QAC/C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAE3B,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;QACvD,MAAM,aAAa,GAAa,EAAE,CAAC;QAEnC,oDAAoD;QACpD,KAAK,MAAM,YAAY,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACpD,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;gBAC7B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;gBAC3E,IAAI,eAAe,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;oBAC/D,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBACjC,IAAI,aAAa,CAAC,MAAM,IAAI,EAAE;wBAAE,MAAM,CAAC,cAAc;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,IAAY;QACjC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC;YAEjE,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBAC9B,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;gBACtC,OAAO,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC;YAClD,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,IAAI,IAAI,EAAE,KAAK,CAAC,CAAC;YAChE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa;QACX,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAE1D,yCAAyC;QACzC,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAG,aAAa,IAAI,UAAU,IAAI,aAAa;YAChE,CAAC,CAAE,aAAqB,CAAC,QAAQ,EAAE,CAAC,gBAAgB,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC;QAET,OAAO;YACL,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW;YAC1C,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM;YACrC,aAAa,EAAE,UAAU,CAAC,MAAM;YAChC,OAAO,EAAE,aAAa,EAAE,OAAO,IAAI,EAAE;YACrC,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,IAAI,EAAE;YAC1E,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW;SAC3C,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,wBAAwB;IACxB,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,wBAAwB,CAAC,YAAoB,EAAE,KAAc,EAAE,KAAK,GAAG,EAAE;QAC7E,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,uCAAuC,YAAY,aAAa,KAAK,GAAG,CAAC,CAAC;QAExF,kDAAkD;QAClD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YACzD,MAAM,EAAE,YAAY,EAAE,uBAAuB;YAC7C,YAAY,EAAE,KAAK;YACnB,KAAK;SACN,CAAC,CAAC;QAEH,OAAO,CAAC,KAAK,CAAC,YAAY,aAAa,CAAC,MAAM,2BAA2B,YAAY,EAAE,CAAC,CAAC;QAEzF,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,yBAAyB,CAAC,OAAe,EAAE,QAAiB;QAChE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,4DAA4D;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,8CAA8C;QAC9C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QAEtF,OAAO;YACL,KAAK;YACL,UAAU;YACV,qBAAqB,EAAE,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC;YACrF,cAAc,EAAE,aAAa;YAC7B,iBAAiB,EAAE,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,KAAK,CAAC;SACpE,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,YAAqB;QACzD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,UAAwB,CAAC;QAE7B,IAAI,YAAY,EAAE,CAAC;YACjB,2BAA2B;YAC3B,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YAC7E,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,uBAAuB,YAAY,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,UAAU,GAAG,mBAAmB,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,iCAAiC;YACjC,MAAM,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;YACtF,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;YAC9G,CAAC;YACD,UAAU,GAAG,kBAAkB,CAAC;QAClC,CAAC;QAED,iDAAiD;QACjD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QAEvF,OAAO;YACL,UAAU;YACV,QAAQ;YACR,kBAAkB,EAAE,cAAc;YAClC,qBAAqB,EAAE,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,CAAC;YAC9F,qBAAqB,EAAE,IAAI,CAAC,2BAA2B,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,CAAC;YAC7F,gBAAgB,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;SAChE,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,yBAAyB,CAAC,aAAqB;QAC7C,OAAO,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,2BAA2B,CAAC,mBAA2B,EAAE,QAAgB;QACvE,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QAClF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,2BAA2B,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IACvF,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,KAAa;QAClC,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;QAChE,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAEvC,OAAO,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YACxC,8CAA8C;YAC9C,OAAO,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAClD,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAClD,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAChF,UAAU,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+EAA+E;IAC/E,kDAAkD;IAClD,+EAA+E;IAEvE,4BAA4B,CAAC,UAAwB,EAAE,KAAkB,EAAE,QAAiB;QAClG,MAAM,YAAY,GAAG,GAAG,UAAU,CAAC,IAAI,+BAA+B,UAAU,CAAC,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC;QAErH,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,GAAG,YAAY,sCAAsC,QAAQ,MAAM,UAAU,CAAC,IAAI,mBAAmB,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,UAAU,CAAC,kBAAkB,YAAY,CAAC;QAChO,CAAC;QAED,OAAO,GAAG,YAAY,gBAAgB,KAAK,CAAC,WAAW,CAAC,KAAK,iBAAiB,UAAU,CAAC,IAAI,mBAAmB,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACvK,CAAC;IAEO,wBAAwB,CAAC,UAAwB,EAAE,KAAkB;QAC3E,OAAO,GAAG,UAAU,CAAC,IAAI,0CAA0C,KAAK,CAAC,WAAW,CAAC,KAAK,oCAAoC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,kBAAkB,wBAAwB,UAAU,CAAC,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC;IACpR,CAAC;IAEO,4BAA4B,CAAC,UAAwB,EAAE,QAAgB,EAAE,cAAmC;QAClH,IAAI,QAAQ,GAAG,GAAG,UAAU,CAAC,IAAI,WAAW,UAAU,CAAC,kBAAkB,OAAO,CAAC;QAEjF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,QAAQ,IAAI,4BAA4B,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC;YAC1H,QAAQ,IAAI,mCAAmC,CAAC;YAChD,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBAClD,QAAQ,IAAI,GAAG,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,OAAO,IAAI,CAAC;YAClE,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,QAAQ,IAAI,4EAA4E,UAAU,CAAC,IAAI,sCAAsC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QACvM,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,2BAA2B,CAAC,UAAwB,EAAE,QAAgB,EAAE,cAAmC;QACjH,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,qCAAqC;QACrC,IAAI,UAAU,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,WAAW,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,IAAI,MAAM,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnF,CAAC;QAED,8BAA8B;QAC9B,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,WAAW,CAAC,IAAI,CAAC,gBAAgB,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,mBAAmB,CAAC,CAAC;QAC/E,CAAC;QAED,iCAAiC;QACjC,MAAM,gBAAgB,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACvD,WAAW,CAAC,IAAI,CAAC,oBAAoB,gBAAgB,eAAe,CAAC,CAAC;QAEtE,gCAAgC;QAChC,MAAM,aAAa,GAAG,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAChF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,WAAW,CAAC,IAAI,CAAC,4BAA4B,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,aAAa,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAC/H,CAAC;QAED,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,yBAAyB;IAC3D,CAAC;CACF"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Methodology Service - Knowledge-Driven Implementation
3
+ * Dynamic methodology loading and guidance using the layered knowledge system
4
+ */
5
+ import { KnowledgeService } from './knowledge-service.js';
6
+ export interface MethodologyLoadRequest {
7
+ user_request: string;
8
+ domain?: string;
9
+ }
10
+ export interface PhaseGuidanceRequest {
11
+ phase_name: string;
12
+ step?: string;
13
+ }
14
+ export interface CompletenessValidationRequest {
15
+ phase: string;
16
+ completed_items: string[];
17
+ }
18
+ export interface MethodologyLoadResult {
19
+ intent_detected: string;
20
+ phases: PhaseContent[];
21
+ execution_order: string[];
22
+ validation_criteria: Record<string, any>;
23
+ estimated_duration: string;
24
+ session_id: string;
25
+ }
26
+ export interface PhaseContent {
27
+ phase_name: string;
28
+ methodology_content: string;
29
+ domain_knowledge: DomainKnowledge;
30
+ checklists: ChecklistItem[];
31
+ success_criteria: string[];
32
+ }
33
+ export interface DomainKnowledge {
34
+ patterns: string;
35
+ anti_patterns: string;
36
+ best_practices: string[];
37
+ }
38
+ export interface ChecklistItem {
39
+ item: string;
40
+ completed: boolean;
41
+ }
42
+ export interface ValidationResult {
43
+ phase: string;
44
+ completion_percentage: number;
45
+ completed_items_count: number;
46
+ total_requirements: number;
47
+ missing_items: string[];
48
+ quality_score: number;
49
+ next_actions: string[];
50
+ can_proceed_to_next_phase: boolean;
51
+ }
52
+ export declare class MethodologyService {
53
+ private knowledgeService;
54
+ private methodologyPath;
55
+ private indexData;
56
+ private loadedPhases;
57
+ private currentSession;
58
+ constructor(knowledgeService: KnowledgeService, methodologyPath?: string);
59
+ private loadIndex;
60
+ /**
61
+ * Load methodology based on user request and intent analysis
62
+ */
63
+ loadMethodology(request: MethodologyLoadRequest): Promise<MethodologyLoadResult>;
64
+ /**
65
+ * Get specific phase guidance and instructions
66
+ */
67
+ getPhaseGuidance(request: PhaseGuidanceRequest): Promise<PhaseContent | {
68
+ error: string;
69
+ }>;
70
+ /**
71
+ * Validate methodology completion against systematic framework
72
+ */
73
+ validateCompleteness(request: CompletenessValidationRequest): Promise<ValidationResult>;
74
+ /**
75
+ * Find workflows by search query
76
+ */
77
+ findWorkflowsByQuery(query: string): Promise<any[]>;
78
+ private analyzeIntent;
79
+ private resolvePhaseDepedencies;
80
+ private loadPhaseContent;
81
+ private loadDomainKnowledge;
82
+ private extractChecklists;
83
+ private extractSuccessCriteria;
84
+ private extractPhaseRequirements;
85
+ private calculateQualityScore;
86
+ private getNextActions;
87
+ private getValidationCriteria;
88
+ private estimateDuration;
89
+ private extractStepContent;
90
+ }
91
+ //# sourceMappingURL=methodology-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"methodology-service.d.ts","sourceRoot":"","sources":["../../src/services/methodology-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,eAAe,CAAC;IAClC,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,yBAAyB,EAAE,OAAO,CAAC;CACpC;AAED,qBAAa,kBAAkB;IAa3B,OAAO,CAAC,gBAAgB;IAZ1B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,cAAc,CAMpB;gBAGQ,gBAAgB,EAAE,gBAAgB,EAC1C,eAAe,CAAC,EAAE,MAAM;IAc1B,OAAO,CAAC,SAAS;IA+BjB;;OAEG;IACU,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAqC7F;;OAEG;IACU,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IA2BvG;;OAEG;IACU,oBAAoB,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA4CpG;;OAEG;IACU,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAqChE,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,uBAAuB;YA6BjB,gBAAgB;YAqBhB,mBAAmB;IAmCjC,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,sBAAsB;YAMhB,wBAAwB;IA0BtC,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,kBAAkB;CAgC3B"}