d365fo-mcp 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1055) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +205 -0
  3. package/dist/bridge/bridgeAdapter.d.ts +319 -0
  4. package/dist/bridge/bridgeAdapter.d.ts.map +1 -0
  5. package/dist/bridge/bridgeAdapter.js +2003 -0
  6. package/dist/bridge/bridgeAdapter.js.map +1 -0
  7. package/dist/bridge/bridgeClient.d.ts +255 -0
  8. package/dist/bridge/bridgeClient.d.ts.map +1 -0
  9. package/dist/bridge/bridgeClient.js +741 -0
  10. package/dist/bridge/bridgeClient.js.map +1 -0
  11. package/dist/bridge/bridgeTypes.d.ts +561 -0
  12. package/dist/bridge/bridgeTypes.d.ts.map +1 -0
  13. package/dist/bridge/bridgeTypes.js +6 -0
  14. package/dist/bridge/bridgeTypes.js.map +1 -0
  15. package/dist/bridge/debouncedRefresh.d.ts +16 -0
  16. package/dist/bridge/debouncedRefresh.d.ts.map +1 -0
  17. package/dist/bridge/debouncedRefresh.js +77 -0
  18. package/dist/bridge/debouncedRefresh.js.map +1 -0
  19. package/dist/bridge/index.d.ts +21 -0
  20. package/dist/bridge/index.d.ts.map +1 -0
  21. package/dist/bridge/index.js +20 -0
  22. package/dist/bridge/index.js.map +1 -0
  23. package/dist/cli/commands/config.d.ts +8 -0
  24. package/dist/cli/commands/config.d.ts.map +1 -0
  25. package/dist/cli/commands/config.js +77 -0
  26. package/dist/cli/commands/config.js.map +1 -0
  27. package/dist/cli/commands/doctor.d.ts +2 -0
  28. package/dist/cli/commands/doctor.d.ts.map +1 -0
  29. package/dist/cli/commands/doctor.js +177 -0
  30. package/dist/cli/commands/doctor.js.map +1 -0
  31. package/dist/cli/commands/indexCmd.d.ts +8 -0
  32. package/dist/cli/commands/indexCmd.d.ts.map +1 -0
  33. package/dist/cli/commands/indexCmd.js +78 -0
  34. package/dist/cli/commands/indexCmd.js.map +1 -0
  35. package/dist/cli/commands/instance.d.ts +4 -0
  36. package/dist/cli/commands/instance.d.ts.map +1 -0
  37. package/dist/cli/commands/instance.js +183 -0
  38. package/dist/cli/commands/instance.js.map +1 -0
  39. package/dist/cli/commands/setup.d.ts +4 -0
  40. package/dist/cli/commands/setup.d.ts.map +1 -0
  41. package/dist/cli/commands/setup.js +246 -0
  42. package/dist/cli/commands/setup.js.map +1 -0
  43. package/dist/cli/commands/start.d.ts +2 -0
  44. package/dist/cli/commands/start.d.ts.map +1 -0
  45. package/dist/cli/commands/start.js +49 -0
  46. package/dist/cli/commands/start.js.map +1 -0
  47. package/dist/cli/commands/update.d.ts +4 -0
  48. package/dist/cli/commands/update.d.ts.map +1 -0
  49. package/dist/cli/commands/update.js +55 -0
  50. package/dist/cli/commands/update.js.map +1 -0
  51. package/dist/cli/context.d.ts +26 -0
  52. package/dist/cli/context.d.ts.map +1 -0
  53. package/dist/cli/context.js +38 -0
  54. package/dist/cli/context.js.map +1 -0
  55. package/dist/cli/envFile.d.ts +23 -0
  56. package/dist/cli/envFile.d.ts.map +1 -0
  57. package/dist/cli/envFile.js +79 -0
  58. package/dist/cli/envFile.js.map +1 -0
  59. package/dist/cli/exec.d.ts +13 -0
  60. package/dist/cli/exec.d.ts.map +1 -0
  61. package/dist/cli/exec.js +47 -0
  62. package/dist/cli/exec.js.map +1 -0
  63. package/dist/cli/index.d.ts +3 -0
  64. package/dist/cli/index.d.ts.map +1 -0
  65. package/dist/cli/index.js +122 -0
  66. package/dist/cli/index.js.map +1 -0
  67. package/dist/cli/instances.d.ts +19 -0
  68. package/dist/cli/instances.d.ts.map +1 -0
  69. package/dist/cli/instances.js +60 -0
  70. package/dist/cli/instances.js.map +1 -0
  71. package/dist/cli/mcpJson.d.ts +15 -0
  72. package/dist/cli/mcpJson.d.ts.map +1 -0
  73. package/dist/cli/mcpJson.js +44 -0
  74. package/dist/cli/mcpJson.js.map +1 -0
  75. package/dist/cli/settingsPrompt.d.ts +20 -0
  76. package/dist/cli/settingsPrompt.d.ts.map +1 -0
  77. package/dist/cli/settingsPrompt.js +150 -0
  78. package/dist/cli/settingsPrompt.js.map +1 -0
  79. package/dist/cli/settingsStore.d.ts +47 -0
  80. package/dist/cli/settingsStore.d.ts.map +1 -0
  81. package/dist/cli/settingsStore.js +144 -0
  82. package/dist/cli/settingsStore.js.map +1 -0
  83. package/dist/cli/target.d.ts +23 -0
  84. package/dist/cli/target.d.ts.map +1 -0
  85. package/dist/cli/target.js +62 -0
  86. package/dist/cli/target.js.map +1 -0
  87. package/dist/cli/ui.d.ts +26 -0
  88. package/dist/cli/ui.d.ts.map +1 -0
  89. package/dist/cli/ui.js +48 -0
  90. package/dist/cli/ui.js.map +1 -0
  91. package/dist/cli/xppConfig.d.ts +35 -0
  92. package/dist/cli/xppConfig.d.ts.map +1 -0
  93. package/dist/cli/xppConfig.js +97 -0
  94. package/dist/cli/xppConfig.js.map +1 -0
  95. package/dist/config/configFile.d.ts +50 -0
  96. package/dist/config/configFile.d.ts.map +1 -0
  97. package/dist/config/configFile.js +152 -0
  98. package/dist/config/configFile.js.map +1 -0
  99. package/dist/config/settings.d.ts +58 -0
  100. package/dist/config/settings.d.ts.map +1 -0
  101. package/dist/config/settings.js +641 -0
  102. package/dist/config/settings.js.map +1 -0
  103. package/dist/database/download.d.ts +27 -0
  104. package/dist/database/download.d.ts.map +1 -0
  105. package/dist/database/download.js +241 -0
  106. package/dist/database/download.js.map +1 -0
  107. package/dist/eval/audit/knowledgeAudit.d.ts +66 -0
  108. package/dist/eval/audit/knowledgeAudit.d.ts.map +1 -0
  109. package/dist/eval/audit/knowledgeAudit.js +117 -0
  110. package/dist/eval/audit/knowledgeAudit.js.map +1 -0
  111. package/dist/eval/audit/knowledgeAuditCli.d.ts +17 -0
  112. package/dist/eval/audit/knowledgeAuditCli.d.ts.map +1 -0
  113. package/dist/eval/audit/knowledgeAuditCli.js +83 -0
  114. package/dist/eval/audit/knowledgeAuditCli.js.map +1 -0
  115. package/dist/eval/audit/knowledgeRefs.d.ts +37 -0
  116. package/dist/eval/audit/knowledgeRefs.d.ts.map +1 -0
  117. package/dist/eval/audit/knowledgeRefs.js +150 -0
  118. package/dist/eval/audit/knowledgeRefs.js.map +1 -0
  119. package/dist/eval/audit/symbolLookup.d.ts +23 -0
  120. package/dist/eval/audit/symbolLookup.d.ts.map +1 -0
  121. package/dist/eval/audit/symbolLookup.js +80 -0
  122. package/dist/eval/audit/symbolLookup.js.map +1 -0
  123. package/dist/eval/coverage/coverage.d.ts +65 -0
  124. package/dist/eval/coverage/coverage.d.ts.map +1 -0
  125. package/dist/eval/coverage/coverage.js +136 -0
  126. package/dist/eval/coverage/coverage.js.map +1 -0
  127. package/dist/eval/coverage/coverageCli.d.ts +13 -0
  128. package/dist/eval/coverage/coverageCli.d.ts.map +1 -0
  129. package/dist/eval/coverage/coverageCli.js +106 -0
  130. package/dist/eval/coverage/coverageCli.js.map +1 -0
  131. package/dist/eval/coverage/sources.d.ts +17 -0
  132. package/dist/eval/coverage/sources.d.ts.map +1 -0
  133. package/dist/eval/coverage/sources.js +40 -0
  134. package/dist/eval/coverage/sources.js.map +1 -0
  135. package/dist/eval/coverage/taxonomy.d.ts +59 -0
  136. package/dist/eval/coverage/taxonomy.d.ts.map +1 -0
  137. package/dist/eval/coverage/taxonomy.js +400 -0
  138. package/dist/eval/coverage/taxonomy.js.map +1 -0
  139. package/dist/eval/improver/caseMining.d.ts +55 -0
  140. package/dist/eval/improver/caseMining.d.ts.map +1 -0
  141. package/dist/eval/improver/caseMining.js +64 -0
  142. package/dist/eval/improver/caseMining.js.map +1 -0
  143. package/dist/eval/improver/caseMiningCli.d.ts +10 -0
  144. package/dist/eval/improver/caseMiningCli.d.ts.map +1 -0
  145. package/dist/eval/improver/caseMiningCli.js +50 -0
  146. package/dist/eval/improver/caseMiningCli.js.map +1 -0
  147. package/dist/eval/improver/cli.d.ts +11 -0
  148. package/dist/eval/improver/cli.d.ts.map +1 -0
  149. package/dist/eval/improver/cli.js +73 -0
  150. package/dist/eval/improver/cli.js.map +1 -0
  151. package/dist/eval/improver/cluster.d.ts +47 -0
  152. package/dist/eval/improver/cluster.d.ts.map +1 -0
  153. package/dist/eval/improver/cluster.js +0 -0
  154. package/dist/eval/improver/cluster.js.map +1 -0
  155. package/dist/eval/improver/corpusIO.d.ts +26 -0
  156. package/dist/eval/improver/corpusIO.d.ts.map +1 -0
  157. package/dist/eval/improver/corpusIO.js +50 -0
  158. package/dist/eval/improver/corpusIO.js.map +1 -0
  159. package/dist/eval/improver/fixBrief.d.ts +34 -0
  160. package/dist/eval/improver/fixBrief.d.ts.map +1 -0
  161. package/dist/eval/improver/fixBrief.js +69 -0
  162. package/dist/eval/improver/fixBrief.js.map +1 -0
  163. package/dist/eval/improver/fixBriefCli.d.ts +11 -0
  164. package/dist/eval/improver/fixBriefCli.d.ts.map +1 -0
  165. package/dist/eval/improver/fixBriefCli.js +46 -0
  166. package/dist/eval/improver/fixBriefCli.js.map +1 -0
  167. package/dist/eval/improver/flakeDetection.d.ts +50 -0
  168. package/dist/eval/improver/flakeDetection.d.ts.map +1 -0
  169. package/dist/eval/improver/flakeDetection.js +0 -0
  170. package/dist/eval/improver/flakeDetection.js.map +1 -0
  171. package/dist/eval/improver/flakeDetectionCli.d.ts +8 -0
  172. package/dist/eval/improver/flakeDetectionCli.d.ts.map +1 -0
  173. package/dist/eval/improver/flakeDetectionCli.js +27 -0
  174. package/dist/eval/improver/flakeDetectionCli.js.map +1 -0
  175. package/dist/eval/improver/heldout.d.ts +44 -0
  176. package/dist/eval/improver/heldout.d.ts.map +1 -0
  177. package/dist/eval/improver/heldout.js +52 -0
  178. package/dist/eval/improver/heldout.js.map +1 -0
  179. package/dist/eval/improver/knowledgeFeedback.d.ts +56 -0
  180. package/dist/eval/improver/knowledgeFeedback.d.ts.map +1 -0
  181. package/dist/eval/improver/knowledgeFeedback.js +88 -0
  182. package/dist/eval/improver/knowledgeFeedback.js.map +1 -0
  183. package/dist/eval/improver/knowledgeFeedbackCli.d.ts +8 -0
  184. package/dist/eval/improver/knowledgeFeedbackCli.d.ts.map +1 -0
  185. package/dist/eval/improver/knowledgeFeedbackCli.js +28 -0
  186. package/dist/eval/improver/knowledgeFeedbackCli.js.map +1 -0
  187. package/dist/eval/improver/report.d.ts +36 -0
  188. package/dist/eval/improver/report.d.ts.map +1 -0
  189. package/dist/eval/improver/report.js +61 -0
  190. package/dist/eval/improver/report.js.map +1 -0
  191. package/dist/eval/improver/reportCli.d.ts +7 -0
  192. package/dist/eval/improver/reportCli.d.ts.map +1 -0
  193. package/dist/eval/improver/reportCli.js +27 -0
  194. package/dist/eval/improver/reportCli.js.map +1 -0
  195. package/dist/eval/oracle/actualArtifactResolution.d.ts +49 -0
  196. package/dist/eval/oracle/actualArtifactResolution.d.ts.map +1 -0
  197. package/dist/eval/oracle/actualArtifactResolution.js +73 -0
  198. package/dist/eval/oracle/actualArtifactResolution.js.map +1 -0
  199. package/dist/eval/oracle/cli.d.ts +30 -0
  200. package/dist/eval/oracle/cli.d.ts.map +1 -0
  201. package/dist/eval/oracle/cli.js +179 -0
  202. package/dist/eval/oracle/cli.js.map +1 -0
  203. package/dist/eval/oracle/diff.d.ts +26 -0
  204. package/dist/eval/oracle/diff.d.ts.map +1 -0
  205. package/dist/eval/oracle/diff.js +51 -0
  206. package/dist/eval/oracle/diff.js.map +1 -0
  207. package/dist/eval/oracle/index.d.ts +81 -0
  208. package/dist/eval/oracle/index.d.ts.map +1 -0
  209. package/dist/eval/oracle/index.js +55 -0
  210. package/dist/eval/oracle/index.js.map +1 -0
  211. package/dist/eval/oracle/normalize.d.ts +85 -0
  212. package/dist/eval/oracle/normalize.d.ts.map +1 -0
  213. package/dist/eval/oracle/normalize.js +321 -0
  214. package/dist/eval/oracle/normalize.js.map +1 -0
  215. package/dist/eval/oracle/score.d.ts +26 -0
  216. package/dist/eval/oracle/score.d.ts.map +1 -0
  217. package/dist/eval/oracle/score.js +15 -0
  218. package/dist/eval/oracle/score.js.map +1 -0
  219. package/dist/eval/oracle/systest.d.ts +30 -0
  220. package/dist/eval/oracle/systest.d.ts.map +1 -0
  221. package/dist/eval/oracle/systest.js +98 -0
  222. package/dist/eval/oracle/systest.js.map +1 -0
  223. package/dist/index.d.ts +6 -0
  224. package/dist/index.d.ts.map +1 -0
  225. package/dist/index.js +753 -0
  226. package/dist/index.js.map +1 -0
  227. package/dist/knowledge/formPatterns/catalog/subPatterns/customFilters.d.ts +10 -0
  228. package/dist/knowledge/formPatterns/catalog/subPatterns/customFilters.d.ts.map +1 -0
  229. package/dist/knowledge/formPatterns/catalog/subPatterns/customFilters.js +38 -0
  230. package/dist/knowledge/formPatterns/catalog/subPatterns/customFilters.js.map +1 -0
  231. package/dist/knowledge/formPatterns/catalog/subPatterns/fields.d.ts +21 -0
  232. package/dist/knowledge/formPatterns/catalog/subPatterns/fields.d.ts.map +1 -0
  233. package/dist/knowledge/formPatterns/catalog/subPatterns/fields.js +168 -0
  234. package/dist/knowledge/formPatterns/catalog/subPatterns/fields.js.map +1 -0
  235. package/dist/knowledge/formPatterns/catalog/subPatterns/panels.d.ts +9 -0
  236. package/dist/knowledge/formPatterns/catalog/subPatterns/panels.d.ts.map +1 -0
  237. package/dist/knowledge/formPatterns/catalog/subPatterns/panels.js +47 -0
  238. package/dist/knowledge/formPatterns/catalog/subPatterns/panels.js.map +1 -0
  239. package/dist/knowledge/formPatterns/catalog/subPatterns/toolbar.d.ts +16 -0
  240. package/dist/knowledge/formPatterns/catalog/subPatterns/toolbar.d.ts.map +1 -0
  241. package/dist/knowledge/formPatterns/catalog/subPatterns/toolbar.js +124 -0
  242. package/dist/knowledge/formPatterns/catalog/subPatterns/toolbar.js.map +1 -0
  243. package/dist/knowledge/formPatterns/catalog/subPatterns/workspaceSections.d.ts +12 -0
  244. package/dist/knowledge/formPatterns/catalog/subPatterns/workspaceSections.d.ts.map +1 -0
  245. package/dist/knowledge/formPatterns/catalog/subPatterns/workspaceSections.js +36 -0
  246. package/dist/knowledge/formPatterns/catalog/subPatterns/workspaceSections.js.map +1 -0
  247. package/dist/knowledge/formPatterns/catalog/topLevel/common.d.ts +11 -0
  248. package/dist/knowledge/formPatterns/catalog/topLevel/common.d.ts.map +1 -0
  249. package/dist/knowledge/formPatterns/catalog/topLevel/common.js +37 -0
  250. package/dist/knowledge/formPatterns/catalog/topLevel/common.js.map +1 -0
  251. package/dist/knowledge/formPatterns/catalog/topLevel/detailsMaster.d.ts +8 -0
  252. package/dist/knowledge/formPatterns/catalog/topLevel/detailsMaster.d.ts.map +1 -0
  253. package/dist/knowledge/formPatterns/catalog/topLevel/detailsMaster.js +86 -0
  254. package/dist/knowledge/formPatterns/catalog/topLevel/detailsMaster.js.map +1 -0
  255. package/dist/knowledge/formPatterns/catalog/topLevel/detailsTransaction.d.ts +7 -0
  256. package/dist/knowledge/formPatterns/catalog/topLevel/detailsTransaction.d.ts.map +1 -0
  257. package/dist/knowledge/formPatterns/catalog/topLevel/detailsTransaction.js +69 -0
  258. package/dist/knowledge/formPatterns/catalog/topLevel/detailsTransaction.js.map +1 -0
  259. package/dist/knowledge/formPatterns/catalog/topLevel/dialog.d.ts +14 -0
  260. package/dist/knowledge/formPatterns/catalog/topLevel/dialog.d.ts.map +1 -0
  261. package/dist/knowledge/formPatterns/catalog/topLevel/dialog.js +187 -0
  262. package/dist/knowledge/formPatterns/catalog/topLevel/dialog.js.map +1 -0
  263. package/dist/knowledge/formPatterns/catalog/topLevel/factBox.d.ts +10 -0
  264. package/dist/knowledge/formPatterns/catalog/topLevel/factBox.d.ts.map +1 -0
  265. package/dist/knowledge/formPatterns/catalog/topLevel/factBox.js +54 -0
  266. package/dist/knowledge/formPatterns/catalog/topLevel/factBox.js.map +1 -0
  267. package/dist/knowledge/formPatterns/catalog/topLevel/listPage.d.ts +7 -0
  268. package/dist/knowledge/formPatterns/catalog/topLevel/listPage.d.ts.map +1 -0
  269. package/dist/knowledge/formPatterns/catalog/topLevel/listPage.js +33 -0
  270. package/dist/knowledge/formPatterns/catalog/topLevel/listPage.js.map +1 -0
  271. package/dist/knowledge/formPatterns/catalog/topLevel/lookup.d.ts +10 -0
  272. package/dist/knowledge/formPatterns/catalog/topLevel/lookup.d.ts.map +1 -0
  273. package/dist/knowledge/formPatterns/catalog/topLevel/lookup.js +95 -0
  274. package/dist/knowledge/formPatterns/catalog/topLevel/lookup.js.map +1 -0
  275. package/dist/knowledge/formPatterns/catalog/topLevel/simpleDetails.d.ts +16 -0
  276. package/dist/knowledge/formPatterns/catalog/topLevel/simpleDetails.d.ts.map +1 -0
  277. package/dist/knowledge/formPatterns/catalog/topLevel/simpleDetails.js +158 -0
  278. package/dist/knowledge/formPatterns/catalog/topLevel/simpleDetails.js.map +1 -0
  279. package/dist/knowledge/formPatterns/catalog/topLevel/simpleList.d.ts +7 -0
  280. package/dist/knowledge/formPatterns/catalog/topLevel/simpleList.d.ts.map +1 -0
  281. package/dist/knowledge/formPatterns/catalog/topLevel/simpleList.js +34 -0
  282. package/dist/knowledge/formPatterns/catalog/topLevel/simpleList.js.map +1 -0
  283. package/dist/knowledge/formPatterns/catalog/topLevel/simpleListDetails.d.ts +9 -0
  284. package/dist/knowledge/formPatterns/catalog/topLevel/simpleListDetails.d.ts.map +1 -0
  285. package/dist/knowledge/formPatterns/catalog/topLevel/simpleListDetails.js +99 -0
  286. package/dist/knowledge/formPatterns/catalog/topLevel/simpleListDetails.js.map +1 -0
  287. package/dist/knowledge/formPatterns/catalog/topLevel/tableOfContents.d.ts +8 -0
  288. package/dist/knowledge/formPatterns/catalog/topLevel/tableOfContents.d.ts.map +1 -0
  289. package/dist/knowledge/formPatterns/catalog/topLevel/tableOfContents.js +95 -0
  290. package/dist/knowledge/formPatterns/catalog/topLevel/tableOfContents.js.map +1 -0
  291. package/dist/knowledge/formPatterns/catalog/topLevel/task.d.ts +9 -0
  292. package/dist/knowledge/formPatterns/catalog/topLevel/task.d.ts.map +1 -0
  293. package/dist/knowledge/formPatterns/catalog/topLevel/task.js +42 -0
  294. package/dist/knowledge/formPatterns/catalog/topLevel/task.js.map +1 -0
  295. package/dist/knowledge/formPatterns/catalog/topLevel/wizard.d.ts +7 -0
  296. package/dist/knowledge/formPatterns/catalog/topLevel/wizard.d.ts.map +1 -0
  297. package/dist/knowledge/formPatterns/catalog/topLevel/wizard.js +42 -0
  298. package/dist/knowledge/formPatterns/catalog/topLevel/wizard.js.map +1 -0
  299. package/dist/knowledge/formPatterns/catalog/topLevel/workspace.d.ts +17 -0
  300. package/dist/knowledge/formPatterns/catalog/topLevel/workspace.d.ts.map +1 -0
  301. package/dist/knowledge/formPatterns/catalog/topLevel/workspace.js +157 -0
  302. package/dist/knowledge/formPatterns/catalog/topLevel/workspace.js.map +1 -0
  303. package/dist/knowledge/formPatterns/crossCheck.d.ts +44 -0
  304. package/dist/knowledge/formPatterns/crossCheck.d.ts.map +1 -0
  305. package/dist/knowledge/formPatterns/crossCheck.js +109 -0
  306. package/dist/knowledge/formPatterns/crossCheck.js.map +1 -0
  307. package/dist/knowledge/formPatterns/index.d.ts +30 -0
  308. package/dist/knowledge/formPatterns/index.d.ts.map +1 -0
  309. package/dist/knowledge/formPatterns/index.js +158 -0
  310. package/dist/knowledge/formPatterns/index.js.map +1 -0
  311. package/dist/knowledge/formPatterns/methodStubs.d.ts +45 -0
  312. package/dist/knowledge/formPatterns/methodStubs.d.ts.map +1 -0
  313. package/dist/knowledge/formPatterns/methodStubs.js +257 -0
  314. package/dist/knowledge/formPatterns/methodStubs.js.map +1 -0
  315. package/dist/knowledge/formPatterns/types.d.ts +115 -0
  316. package/dist/knowledge/formPatterns/types.d.ts.map +1 -0
  317. package/dist/knowledge/formPatterns/types.js +44 -0
  318. package/dist/knowledge/formPatterns/types.js.map +1 -0
  319. package/dist/metadata/enhancedParser.d.ts +91 -0
  320. package/dist/metadata/enhancedParser.d.ts.map +1 -0
  321. package/dist/metadata/enhancedParser.js +379 -0
  322. package/dist/metadata/enhancedParser.js.map +1 -0
  323. package/dist/metadata/formPatternMiner.d.ts +78 -0
  324. package/dist/metadata/formPatternMiner.d.ts.map +1 -0
  325. package/dist/metadata/formPatternMiner.js +220 -0
  326. package/dist/metadata/formPatternMiner.js.map +1 -0
  327. package/dist/metadata/labelParser.d.ts +71 -0
  328. package/dist/metadata/labelParser.d.ts.map +1 -0
  329. package/dist/metadata/labelParser.js +258 -0
  330. package/dist/metadata/labelParser.js.map +1 -0
  331. package/dist/metadata/symbolCountsWorker.d.ts +16 -0
  332. package/dist/metadata/symbolCountsWorker.d.ts.map +1 -0
  333. package/dist/metadata/symbolCountsWorker.js +42 -0
  334. package/dist/metadata/symbolCountsWorker.js.map +1 -0
  335. package/dist/metadata/symbolIndex.d.ts +474 -0
  336. package/dist/metadata/symbolIndex.d.ts.map +1 -0
  337. package/dist/metadata/symbolIndex.js +3152 -0
  338. package/dist/metadata/symbolIndex.js.map +1 -0
  339. package/dist/metadata/types.d.ts +267 -0
  340. package/dist/metadata/types.d.ts.map +1 -0
  341. package/dist/metadata/types.js +5 -0
  342. package/dist/metadata/types.js.map +1 -0
  343. package/dist/metadata/xmlParser.d.ts +232 -0
  344. package/dist/metadata/xmlParser.d.ts.map +1 -0
  345. package/dist/metadata/xmlParser.js +1021 -0
  346. package/dist/metadata/xmlParser.js.map +1 -0
  347. package/dist/metadata/xppDeclaration.d.ts +116 -0
  348. package/dist/metadata/xppDeclaration.d.ts.map +1 -0
  349. package/dist/metadata/xppDeclaration.js +350 -0
  350. package/dist/metadata/xppDeclaration.js.map +1 -0
  351. package/dist/middleware/apiKeyAuth.d.ts +7 -0
  352. package/dist/middleware/apiKeyAuth.d.ts.map +1 -0
  353. package/dist/middleware/apiKeyAuth.js +70 -0
  354. package/dist/middleware/apiKeyAuth.js.map +1 -0
  355. package/dist/middleware/rateLimiter.d.ts +7 -0
  356. package/dist/middleware/rateLimiter.d.ts.map +1 -0
  357. package/dist/middleware/rateLimiter.js +78 -0
  358. package/dist/middleware/rateLimiter.js.map +1 -0
  359. package/dist/prompts/codeReview.d.ts +8 -0
  360. package/dist/prompts/codeReview.d.ts.map +1 -0
  361. package/dist/prompts/codeReview.js +619 -0
  362. package/dist/prompts/codeReview.js.map +1 -0
  363. package/dist/prompts/index.d.ts +6 -0
  364. package/dist/prompts/index.d.ts.map +1 -0
  365. package/dist/prompts/index.js +6 -0
  366. package/dist/prompts/index.js.map +1 -0
  367. package/dist/prompts/systemInstructions.d.ts +33 -0
  368. package/dist/prompts/systemInstructions.d.ts.map +1 -0
  369. package/dist/prompts/systemInstructions.js +154 -0
  370. package/dist/prompts/systemInstructions.js.map +1 -0
  371. package/dist/resources/classResource.d.ts +17 -0
  372. package/dist/resources/classResource.d.ts.map +1 -0
  373. package/dist/resources/classResource.js +33 -0
  374. package/dist/resources/classResource.js.map +1 -0
  375. package/dist/resources/index.d.ts +20 -0
  376. package/dist/resources/index.d.ts.map +1 -0
  377. package/dist/resources/index.js +154 -0
  378. package/dist/resources/index.js.map +1 -0
  379. package/dist/server/mcpServer.d.ts +11 -0
  380. package/dist/server/mcpServer.d.ts.map +1 -0
  381. package/dist/server/mcpServer.js +185 -0
  382. package/dist/server/mcpServer.js.map +1 -0
  383. package/dist/server/serverMode.d.ts +53 -0
  384. package/dist/server/serverMode.d.ts.map +1 -0
  385. package/dist/server/serverMode.js +72 -0
  386. package/dist/server/serverMode.js.map +1 -0
  387. package/dist/server/toolAnnotations.d.ts +28 -0
  388. package/dist/server/toolAnnotations.d.ts.map +1 -0
  389. package/dist/server/toolAnnotations.js +70 -0
  390. package/dist/server/toolAnnotations.js.map +1 -0
  391. package/dist/server/toolSchemas/analyzeCode.d.ts +71 -0
  392. package/dist/server/toolSchemas/analyzeCode.d.ts.map +1 -0
  393. package/dist/server/toolSchemas/analyzeCode.js +50 -0
  394. package/dist/server/toolSchemas/analyzeCode.js.map +1 -0
  395. package/dist/server/toolSchemas/batchGetInfo.d.ts +32 -0
  396. package/dist/server/toolSchemas/batchGetInfo.d.ts.map +1 -0
  397. package/dist/server/toolSchemas/batchGetInfo.js +35 -0
  398. package/dist/server/toolSchemas/batchGetInfo.js.map +1 -0
  399. package/dist/server/toolSchemas/buildD365foProject.d.ts +44 -0
  400. package/dist/server/toolSchemas/buildD365foProject.d.ts.map +1 -0
  401. package/dist/server/toolSchemas/buildD365foProject.js +47 -0
  402. package/dist/server/toolSchemas/buildD365foProject.js.map +1 -0
  403. package/dist/server/toolSchemas/d365foFile.d.ts +99 -0
  404. package/dist/server/toolSchemas/d365foFile.d.ts.map +1 -0
  405. package/dist/server/toolSchemas/d365foFile.js +163 -0
  406. package/dist/server/toolSchemas/d365foFile.js.map +1 -0
  407. package/dist/server/toolSchemas/extensionInfo.d.ts +65 -0
  408. package/dist/server/toolSchemas/extensionInfo.d.ts.map +1 -0
  409. package/dist/server/toolSchemas/extensionInfo.js +73 -0
  410. package/dist/server/toolSchemas/extensionInfo.js.map +1 -0
  411. package/dist/server/toolSchemas/findReferences.d.ts +35 -0
  412. package/dist/server/toolSchemas/findReferences.d.ts.map +1 -0
  413. package/dist/server/toolSchemas/findReferences.js +35 -0
  414. package/dist/server/toolSchemas/findReferences.js.map +1 -0
  415. package/dist/server/toolSchemas/generateObject.d.ts +246 -0
  416. package/dist/server/toolSchemas/generateObject.d.ts.map +1 -0
  417. package/dist/server/toolSchemas/generateObject.js +158 -0
  418. package/dist/server/toolSchemas/generateObject.js.map +1 -0
  419. package/dist/server/toolSchemas/getKnowledge.d.ts +39 -0
  420. package/dist/server/toolSchemas/getKnowledge.d.ts.map +1 -0
  421. package/dist/server/toolSchemas/getKnowledge.js +46 -0
  422. package/dist/server/toolSchemas/getKnowledge.js.map +1 -0
  423. package/dist/server/toolSchemas/getMethod.d.ts +30 -0
  424. package/dist/server/toolSchemas/getMethod.d.ts.map +1 -0
  425. package/dist/server/toolSchemas/getMethod.js +34 -0
  426. package/dist/server/toolSchemas/getMethod.js.map +1 -0
  427. package/dist/server/toolSchemas/getObjectInfo.d.ts +24 -0
  428. package/dist/server/toolSchemas/getObjectInfo.d.ts.map +1 -0
  429. package/dist/server/toolSchemas/getObjectInfo.js +30 -0
  430. package/dist/server/toolSchemas/getObjectInfo.js.map +1 -0
  431. package/dist/server/toolSchemas/getWorkspaceInfo.d.ts +29 -0
  432. package/dist/server/toolSchemas/getWorkspaceInfo.d.ts.map +1 -0
  433. package/dist/server/toolSchemas/getWorkspaceInfo.js +29 -0
  434. package/dist/server/toolSchemas/getWorkspaceInfo.js.map +1 -0
  435. package/dist/server/toolSchemas/index.d.ts +1142 -0
  436. package/dist/server/toolSchemas/index.d.ts.map +1 -0
  437. package/dist/server/toolSchemas/index.js +60 -0
  438. package/dist/server/toolSchemas/index.js.map +1 -0
  439. package/dist/server/toolSchemas/labels.d.ts +172 -0
  440. package/dist/server/toolSchemas/labels.d.ts.map +1 -0
  441. package/dist/server/toolSchemas/labels.js +159 -0
  442. package/dist/server/toolSchemas/labels.js.map +1 -0
  443. package/dist/server/toolSchemas/objectPatterns.d.ts +93 -0
  444. package/dist/server/toolSchemas/objectPatterns.d.ts.map +1 -0
  445. package/dist/server/toolSchemas/objectPatterns.js +104 -0
  446. package/dist/server/toolSchemas/objectPatterns.js.map +1 -0
  447. package/dist/server/toolSchemas/prepare.d.ts +49 -0
  448. package/dist/server/toolSchemas/prepare.d.ts.map +1 -0
  449. package/dist/server/toolSchemas/prepare.js +57 -0
  450. package/dist/server/toolSchemas/prepare.js.map +1 -0
  451. package/dist/server/toolSchemas/reviewWorkspaceChanges.d.ts +20 -0
  452. package/dist/server/toolSchemas/reviewWorkspaceChanges.d.ts.map +1 -0
  453. package/dist/server/toolSchemas/reviewWorkspaceChanges.js +19 -0
  454. package/dist/server/toolSchemas/reviewWorkspaceChanges.js.map +1 -0
  455. package/dist/server/toolSchemas/runBpCheck.d.ts +36 -0
  456. package/dist/server/toolSchemas/runBpCheck.d.ts.map +1 -0
  457. package/dist/server/toolSchemas/runBpCheck.js +21 -0
  458. package/dist/server/toolSchemas/runBpCheck.js.map +1 -0
  459. package/dist/server/toolSchemas/runSystestClass.d.ts +32 -0
  460. package/dist/server/toolSchemas/runSystestClass.d.ts.map +1 -0
  461. package/dist/server/toolSchemas/runSystestClass.js +20 -0
  462. package/dist/server/toolSchemas/runSystestClass.js.map +1 -0
  463. package/dist/server/toolSchemas/search.d.ts +109 -0
  464. package/dist/server/toolSchemas/search.d.ts.map +1 -0
  465. package/dist/server/toolSchemas/search.js +123 -0
  466. package/dist/server/toolSchemas/search.js.map +1 -0
  467. package/dist/server/toolSchemas/securityInfo.d.ts +45 -0
  468. package/dist/server/toolSchemas/securityInfo.d.ts.map +1 -0
  469. package/dist/server/toolSchemas/securityInfo.js +39 -0
  470. package/dist/server/toolSchemas/securityInfo.js.map +1 -0
  471. package/dist/server/toolSchemas/suggestEdt.d.ts +29 -0
  472. package/dist/server/toolSchemas/suggestEdt.d.ts.map +1 -0
  473. package/dist/server/toolSchemas/suggestEdt.js +29 -0
  474. package/dist/server/toolSchemas/suggestEdt.js.map +1 -0
  475. package/dist/server/toolSchemas/triggerDbSync.d.ts +47 -0
  476. package/dist/server/toolSchemas/triggerDbSync.d.ts.map +1 -0
  477. package/dist/server/toolSchemas/triggerDbSync.js +31 -0
  478. package/dist/server/toolSchemas/triggerDbSync.js.map +1 -0
  479. package/dist/server/toolSchemas/undoLastModification.d.ts +20 -0
  480. package/dist/server/toolSchemas/undoLastModification.d.ts.map +1 -0
  481. package/dist/server/toolSchemas/undoLastModification.js +17 -0
  482. package/dist/server/toolSchemas/undoLastModification.js.map +1 -0
  483. package/dist/server/toolSchemas/updateSymbolIndex.d.ts +19 -0
  484. package/dist/server/toolSchemas/updateSymbolIndex.d.ts.map +1 -0
  485. package/dist/server/toolSchemas/updateSymbolIndex.js +18 -0
  486. package/dist/server/toolSchemas/updateSymbolIndex.js.map +1 -0
  487. package/dist/server/toolSchemas/validateCode.d.ts +35 -0
  488. package/dist/server/toolSchemas/validateCode.d.ts.map +1 -0
  489. package/dist/server/toolSchemas/validateCode.js +38 -0
  490. package/dist/server/toolSchemas/validateCode.js.map +1 -0
  491. package/dist/server/toolSchemas/validateObjectNaming.d.ts +33 -0
  492. package/dist/server/toolSchemas/validateObjectNaming.d.ts.map +1 -0
  493. package/dist/server/toolSchemas/validateObjectNaming.js +32 -0
  494. package/dist/server/toolSchemas/validateObjectNaming.js.map +1 -0
  495. package/dist/server/toolSchemas/verifyD365foProject.d.ts +50 -0
  496. package/dist/server/toolSchemas/verifyD365foProject.d.ts.map +1 -0
  497. package/dist/server/toolSchemas/verifyD365foProject.js +46 -0
  498. package/dist/server/toolSchemas/verifyD365foProject.js.map +1 -0
  499. package/dist/server/transport.d.ts +30 -0
  500. package/dist/server/transport.d.ts.map +1 -0
  501. package/dist/server/transport.js +391 -0
  502. package/dist/server/transport.js.map +1 -0
  503. package/dist/tools/analyzeCode.d.ts +17 -0
  504. package/dist/tools/analyzeCode.d.ts.map +1 -0
  505. package/dist/tools/analyzeCode.js +63 -0
  506. package/dist/tools/analyzeCode.js.map +1 -0
  507. package/dist/tools/analyzeCompleteness.d.ts +20 -0
  508. package/dist/tools/analyzeCompleteness.d.ts.map +1 -0
  509. package/dist/tools/analyzeCompleteness.js +103 -0
  510. package/dist/tools/analyzeCompleteness.js.map +1 -0
  511. package/dist/tools/analyzeExtensionPoints.d.ts +21 -0
  512. package/dist/tools/analyzeExtensionPoints.d.ts.map +1 -0
  513. package/dist/tools/analyzeExtensionPoints.js +343 -0
  514. package/dist/tools/analyzeExtensionPoints.js.map +1 -0
  515. package/dist/tools/analyzePatterns.d.ts +20 -0
  516. package/dist/tools/analyzePatterns.d.ts.map +1 -0
  517. package/dist/tools/analyzePatterns.js +71 -0
  518. package/dist/tools/analyzePatterns.js.map +1 -0
  519. package/dist/tools/apiUsagePatterns.d.ts +20 -0
  520. package/dist/tools/apiUsagePatterns.d.ts.map +1 -0
  521. package/dist/tools/apiUsagePatterns.js +136 -0
  522. package/dist/tools/apiUsagePatterns.js.map +1 -0
  523. package/dist/tools/batchGetInfo.d.ts +50 -0
  524. package/dist/tools/batchGetInfo.d.ts.map +1 -0
  525. package/dist/tools/batchGetInfo.js +52 -0
  526. package/dist/tools/batchGetInfo.js.map +1 -0
  527. package/dist/tools/batchSearch.d.ts +64 -0
  528. package/dist/tools/batchSearch.d.ts.map +1 -0
  529. package/dist/tools/batchSearch.js +265 -0
  530. package/dist/tools/batchSearch.js.map +1 -0
  531. package/dist/tools/buildProject.d.ts +28 -0
  532. package/dist/tools/buildProject.d.ts.map +1 -0
  533. package/dist/tools/buildProject.js +929 -0
  534. package/dist/tools/buildProject.js.map +1 -0
  535. package/dist/tools/classInfo.d.ts +8 -0
  536. package/dist/tools/classInfo.d.ts.map +1 -0
  537. package/dist/tools/classInfo.js +235 -0
  538. package/dist/tools/classInfo.js.map +1 -0
  539. package/dist/tools/codeGen.d.ts +19 -0
  540. package/dist/tools/codeGen.d.ts.map +1 -0
  541. package/dist/tools/codeGen.js +1956 -0
  542. package/dist/tools/codeGen.js.map +1 -0
  543. package/dist/tools/completion.d.ts +8 -0
  544. package/dist/tools/completion.d.ts.map +1 -0
  545. package/dist/tools/completion.js +272 -0
  546. package/dist/tools/completion.js.map +1 -0
  547. package/dist/tools/configKeyInfo.d.ts +22 -0
  548. package/dist/tools/configKeyInfo.d.ts.map +1 -0
  549. package/dist/tools/configKeyInfo.js +74 -0
  550. package/dist/tools/configKeyInfo.js.map +1 -0
  551. package/dist/tools/createD365File.d.ts +479 -0
  552. package/dist/tools/createD365File.d.ts.map +1 -0
  553. package/dist/tools/createD365File.js +4185 -0
  554. package/dist/tools/createD365File.js.map +1 -0
  555. package/dist/tools/createLabel.d.ts +51 -0
  556. package/dist/tools/createLabel.d.ts.map +1 -0
  557. package/dist/tools/createLabel.js +761 -0
  558. package/dist/tools/createLabel.js.map +1 -0
  559. package/dist/tools/d365foErrorHelp.d.ts +29 -0
  560. package/dist/tools/d365foErrorHelp.d.ts.map +1 -0
  561. package/dist/tools/d365foErrorHelp.js +389 -0
  562. package/dist/tools/d365foErrorHelp.js.map +1 -0
  563. package/dist/tools/d365foFile.d.ts +20 -0
  564. package/dist/tools/d365foFile.d.ts.map +1 -0
  565. package/dist/tools/d365foFile.js +58 -0
  566. package/dist/tools/d365foFile.js.map +1 -0
  567. package/dist/tools/d365foFileOpSpecs.d.ts +41 -0
  568. package/dist/tools/d365foFileOpSpecs.d.ts.map +1 -0
  569. package/dist/tools/d365foFileOpSpecs.js +336 -0
  570. package/dist/tools/d365foFileOpSpecs.js.map +1 -0
  571. package/dist/tools/dataEntityInfo.d.ts +23 -0
  572. package/dist/tools/dataEntityInfo.d.ts.map +1 -0
  573. package/dist/tools/dataEntityInfo.js +45 -0
  574. package/dist/tools/dataEntityInfo.js.map +1 -0
  575. package/dist/tools/dataEntityXml.d.ts +31 -0
  576. package/dist/tools/dataEntityXml.d.ts.map +1 -0
  577. package/dist/tools/dataEntityXml.js +131 -0
  578. package/dist/tools/dataEntityXml.js.map +1 -0
  579. package/dist/tools/dbSync.d.ts +8 -0
  580. package/dist/tools/dbSync.d.ts.map +1 -0
  581. package/dist/tools/dbSync.js +285 -0
  582. package/dist/tools/dbSync.js.map +1 -0
  583. package/dist/tools/edtInfo.d.ts +23 -0
  584. package/dist/tools/edtInfo.d.ts.map +1 -0
  585. package/dist/tools/edtInfo.js +122 -0
  586. package/dist/tools/edtInfo.js.map +1 -0
  587. package/dist/tools/enumInfo.d.ts +17 -0
  588. package/dist/tools/enumInfo.d.ts.map +1 -0
  589. package/dist/tools/enumInfo.js +44 -0
  590. package/dist/tools/enumInfo.js.map +1 -0
  591. package/dist/tools/extensionInfo.d.ts +26 -0
  592. package/dist/tools/extensionInfo.d.ts.map +1 -0
  593. package/dist/tools/extensionInfo.js +73 -0
  594. package/dist/tools/extensionInfo.js.map +1 -0
  595. package/dist/tools/extensionSearch.d.ts +20 -0
  596. package/dist/tools/extensionSearch.d.ts.map +1 -0
  597. package/dist/tools/extensionSearch.js +72 -0
  598. package/dist/tools/extensionSearch.js.map +1 -0
  599. package/dist/tools/extensionStrategyAdvisor.d.ts +15 -0
  600. package/dist/tools/extensionStrategyAdvisor.d.ts.map +1 -0
  601. package/dist/tools/extensionStrategyAdvisor.js +519 -0
  602. package/dist/tools/extensionStrategyAdvisor.js.map +1 -0
  603. package/dist/tools/findCocExtensions.d.ts +20 -0
  604. package/dist/tools/findCocExtensions.d.ts.map +1 -0
  605. package/dist/tools/findCocExtensions.js +285 -0
  606. package/dist/tools/findCocExtensions.js.map +1 -0
  607. package/dist/tools/findEventHandlers.d.ts +21 -0
  608. package/dist/tools/findEventHandlers.d.ts.map +1 -0
  609. package/dist/tools/findEventHandlers.js +196 -0
  610. package/dist/tools/findEventHandlers.js.map +1 -0
  611. package/dist/tools/findReferences.d.ts +30 -0
  612. package/dist/tools/findReferences.d.ts.map +1 -0
  613. package/dist/tools/findReferences.js +551 -0
  614. package/dist/tools/findReferences.js.map +1 -0
  615. package/dist/tools/formInfo.d.ts +13 -0
  616. package/dist/tools/formInfo.d.ts.map +1 -0
  617. package/dist/tools/formInfo.js +407 -0
  618. package/dist/tools/formInfo.js.map +1 -0
  619. package/dist/tools/formPattern.d.ts +19 -0
  620. package/dist/tools/formPattern.d.ts.map +1 -0
  621. package/dist/tools/formPattern.js +52 -0
  622. package/dist/tools/formPattern.js.map +1 -0
  623. package/dist/tools/generateD365Xml.d.ts +12 -0
  624. package/dist/tools/generateD365Xml.d.ts.map +1 -0
  625. package/dist/tools/generateD365Xml.js +1454 -0
  626. package/dist/tools/generateD365Xml.js.map +1 -0
  627. package/dist/tools/generateFindMethods.d.ts +69 -0
  628. package/dist/tools/generateFindMethods.d.ts.map +1 -0
  629. package/dist/tools/generateFindMethods.js +207 -0
  630. package/dist/tools/generateFindMethods.js.map +1 -0
  631. package/dist/tools/generateMetadata.d.ts +37 -0
  632. package/dist/tools/generateMetadata.d.ts.map +1 -0
  633. package/dist/tools/generateMetadata.js +213 -0
  634. package/dist/tools/generateMetadata.js.map +1 -0
  635. package/dist/tools/generateObject.d.ts +34 -0
  636. package/dist/tools/generateObject.d.ts.map +1 -0
  637. package/dist/tools/generateObject.js +47 -0
  638. package/dist/tools/generateObject.js.map +1 -0
  639. package/dist/tools/generateRelationXpp.d.ts +45 -0
  640. package/dist/tools/generateRelationXpp.d.ts.map +1 -0
  641. package/dist/tools/generateRelationXpp.js +129 -0
  642. package/dist/tools/generateRelationXpp.js.map +1 -0
  643. package/dist/tools/generateSmart.d.ts +32 -0
  644. package/dist/tools/generateSmart.d.ts.map +1 -0
  645. package/dist/tools/generateSmart.js +52 -0
  646. package/dist/tools/generateSmart.js.map +1 -0
  647. package/dist/tools/generateSmartForm.d.ts +82 -0
  648. package/dist/tools/generateSmartForm.d.ts.map +1 -0
  649. package/dist/tools/generateSmartForm.js +996 -0
  650. package/dist/tools/generateSmartForm.js.map +1 -0
  651. package/dist/tools/generateSmartReport.d.ts +90 -0
  652. package/dist/tools/generateSmartReport.d.ts.map +1 -0
  653. package/dist/tools/generateSmartReport.js +1254 -0
  654. package/dist/tools/generateSmartReport.js.map +1 -0
  655. package/dist/tools/generateSmartTable.d.ts +138 -0
  656. package/dist/tools/generateSmartTable.d.ts.map +1 -0
  657. package/dist/tools/generateSmartTable.js +1305 -0
  658. package/dist/tools/generateSmartTable.js.map +1 -0
  659. package/dist/tools/generateTableFields.d.ts +48 -0
  660. package/dist/tools/generateTableFields.d.ts.map +1 -0
  661. package/dist/tools/generateTableFields.js +186 -0
  662. package/dist/tools/generateTableFields.js.map +1 -0
  663. package/dist/tools/generateTableRelation.d.ts +35 -0
  664. package/dist/tools/generateTableRelation.d.ts.map +1 -0
  665. package/dist/tools/generateTableRelation.js +161 -0
  666. package/dist/tools/generateTableRelation.js.map +1 -0
  667. package/dist/tools/getFormPatternSpec.d.ts +13 -0
  668. package/dist/tools/getFormPatternSpec.d.ts.map +1 -0
  669. package/dist/tools/getFormPatternSpec.js +290 -0
  670. package/dist/tools/getFormPatternSpec.js.map +1 -0
  671. package/dist/tools/getFormPatterns.d.ts +68 -0
  672. package/dist/tools/getFormPatterns.d.ts.map +1 -0
  673. package/dist/tools/getFormPatterns.js +471 -0
  674. package/dist/tools/getFormPatterns.js.map +1 -0
  675. package/dist/tools/getKnowledge.d.ts +27 -0
  676. package/dist/tools/getKnowledge.d.ts.map +1 -0
  677. package/dist/tools/getKnowledge.js +50 -0
  678. package/dist/tools/getKnowledge.js.map +1 -0
  679. package/dist/tools/getLabelInfo.d.ts +21 -0
  680. package/dist/tools/getLabelInfo.d.ts.map +1 -0
  681. package/dist/tools/getLabelInfo.js +138 -0
  682. package/dist/tools/getLabelInfo.js.map +1 -0
  683. package/dist/tools/getMethod.d.ts +19 -0
  684. package/dist/tools/getMethod.d.ts.map +1 -0
  685. package/dist/tools/getMethod.js +77 -0
  686. package/dist/tools/getMethod.js.map +1 -0
  687. package/dist/tools/getMethodSource.d.ts +17 -0
  688. package/dist/tools/getMethodSource.d.ts.map +1 -0
  689. package/dist/tools/getMethodSource.js +161 -0
  690. package/dist/tools/getMethodSource.js.map +1 -0
  691. package/dist/tools/getObjectInfo.d.ts +17 -0
  692. package/dist/tools/getObjectInfo.d.ts.map +1 -0
  693. package/dist/tools/getObjectInfo.js +88 -0
  694. package/dist/tools/getObjectInfo.js.map +1 -0
  695. package/dist/tools/getTablePatterns.d.ts +45 -0
  696. package/dist/tools/getTablePatterns.d.ts.map +1 -0
  697. package/dist/tools/getTablePatterns.js +235 -0
  698. package/dist/tools/getTablePatterns.js.map +1 -0
  699. package/dist/tools/index.d.ts +11 -0
  700. package/dist/tools/index.d.ts.map +1 -0
  701. package/dist/tools/index.js +11 -0
  702. package/dist/tools/index.js.map +1 -0
  703. package/dist/tools/labels.d.ts +25 -0
  704. package/dist/tools/labels.d.ts.map +1 -0
  705. package/dist/tools/labels.js +111 -0
  706. package/dist/tools/labels.js.map +1 -0
  707. package/dist/tools/macroInfo.d.ts +23 -0
  708. package/dist/tools/macroInfo.d.ts.map +1 -0
  709. package/dist/tools/macroInfo.js +62 -0
  710. package/dist/tools/macroInfo.js.map +1 -0
  711. package/dist/tools/mapInfo.d.ts +21 -0
  712. package/dist/tools/mapInfo.d.ts.map +1 -0
  713. package/dist/tools/mapInfo.js +54 -0
  714. package/dist/tools/mapInfo.js.map +1 -0
  715. package/dist/tools/mapXml.d.ts +26 -0
  716. package/dist/tools/mapXml.d.ts.map +1 -0
  717. package/dist/tools/mapXml.js +88 -0
  718. package/dist/tools/mapXml.js.map +1 -0
  719. package/dist/tools/menuItemInfo.d.ts +20 -0
  720. package/dist/tools/menuItemInfo.d.ts.map +1 -0
  721. package/dist/tools/menuItemInfo.js +185 -0
  722. package/dist/tools/menuItemInfo.js.map +1 -0
  723. package/dist/tools/methodSignature.d.ts +33 -0
  724. package/dist/tools/methodSignature.d.ts.map +1 -0
  725. package/dist/tools/methodSignature.js +348 -0
  726. package/dist/tools/methodSignature.js.map +1 -0
  727. package/dist/tools/modifyD365File.d.ts +130 -0
  728. package/dist/tools/modifyD365File.d.ts.map +1 -0
  729. package/dist/tools/modifyD365File.js +2179 -0
  730. package/dist/tools/modifyD365File.js.map +1 -0
  731. package/dist/tools/objectInfoRegistry.d.ts +36 -0
  732. package/dist/tools/objectInfoRegistry.d.ts.map +1 -0
  733. package/dist/tools/objectInfoRegistry.js +98 -0
  734. package/dist/tools/objectInfoRegistry.js.map +1 -0
  735. package/dist/tools/objectPatterns.d.ts +16 -0
  736. package/dist/tools/objectPatterns.d.ts.map +1 -0
  737. package/dist/tools/objectPatterns.js +84 -0
  738. package/dist/tools/objectPatterns.js.map +1 -0
  739. package/dist/tools/prepare.d.ts +18 -0
  740. package/dist/tools/prepare.d.ts.map +1 -0
  741. package/dist/tools/prepare.js +47 -0
  742. package/dist/tools/prepare.js.map +1 -0
  743. package/dist/tools/prepareChange.d.ts +43 -0
  744. package/dist/tools/prepareChange.d.ts.map +1 -0
  745. package/dist/tools/prepareChange.js +327 -0
  746. package/dist/tools/prepareChange.js.map +1 -0
  747. package/dist/tools/prepareCreate.d.ts +45 -0
  748. package/dist/tools/prepareCreate.d.ts.map +1 -0
  749. package/dist/tools/prepareCreate.js +263 -0
  750. package/dist/tools/prepareCreate.js.map +1 -0
  751. package/dist/tools/queryInfo.d.ts +17 -0
  752. package/dist/tools/queryInfo.d.ts.map +1 -0
  753. package/dist/tools/queryInfo.js +46 -0
  754. package/dist/tools/queryInfo.js.map +1 -0
  755. package/dist/tools/queryViewXml.d.ts +36 -0
  756. package/dist/tools/queryViewXml.d.ts.map +1 -0
  757. package/dist/tools/queryViewXml.js +129 -0
  758. package/dist/tools/queryViewXml.js.map +1 -0
  759. package/dist/tools/renameLabel.d.ts +29 -0
  760. package/dist/tools/renameLabel.d.ts.map +1 -0
  761. package/dist/tools/renameLabel.js +377 -0
  762. package/dist/tools/renameLabel.js.map +1 -0
  763. package/dist/tools/repairFormControls.d.ts +21 -0
  764. package/dist/tools/repairFormControls.d.ts.map +1 -0
  765. package/dist/tools/repairFormControls.js +151 -0
  766. package/dist/tools/repairFormControls.js.map +1 -0
  767. package/dist/tools/reportInfo.d.ts +14 -0
  768. package/dist/tools/reportInfo.d.ts.map +1 -0
  769. package/dist/tools/reportInfo.js +302 -0
  770. package/dist/tools/reportInfo.js.map +1 -0
  771. package/dist/tools/resolveReferences.d.ts +89 -0
  772. package/dist/tools/resolveReferences.d.ts.map +1 -0
  773. package/dist/tools/resolveReferences.js +791 -0
  774. package/dist/tools/resolveReferences.js.map +1 -0
  775. package/dist/tools/reviewWorkspaceChanges.d.ts +14 -0
  776. package/dist/tools/reviewWorkspaceChanges.d.ts.map +1 -0
  777. package/dist/tools/reviewWorkspaceChanges.js +73 -0
  778. package/dist/tools/reviewWorkspaceChanges.js.map +1 -0
  779. package/dist/tools/runBpCheck.d.ts +14 -0
  780. package/dist/tools/runBpCheck.d.ts.map +1 -0
  781. package/dist/tools/runBpCheck.js +241 -0
  782. package/dist/tools/runBpCheck.js.map +1 -0
  783. package/dist/tools/search.d.ts +20 -0
  784. package/dist/tools/search.d.ts.map +1 -0
  785. package/dist/tools/search.js +246 -0
  786. package/dist/tools/search.js.map +1 -0
  787. package/dist/tools/searchLabels.d.ts +26 -0
  788. package/dist/tools/searchLabels.d.ts.map +1 -0
  789. package/dist/tools/searchLabels.js +91 -0
  790. package/dist/tools/searchLabels.js.map +1 -0
  791. package/dist/tools/searchUnified.d.ts +28 -0
  792. package/dist/tools/searchUnified.d.ts.map +1 -0
  793. package/dist/tools/searchUnified.js +48 -0
  794. package/dist/tools/searchUnified.js.map +1 -0
  795. package/dist/tools/securityArtifactInfo.d.ts +14 -0
  796. package/dist/tools/securityArtifactInfo.d.ts.map +1 -0
  797. package/dist/tools/securityArtifactInfo.js +192 -0
  798. package/dist/tools/securityArtifactInfo.js.map +1 -0
  799. package/dist/tools/securityCoverageInfo.d.ts +21 -0
  800. package/dist/tools/securityCoverageInfo.d.ts.map +1 -0
  801. package/dist/tools/securityCoverageInfo.js +248 -0
  802. package/dist/tools/securityCoverageInfo.js.map +1 -0
  803. package/dist/tools/securityInfo.d.ts +22 -0
  804. package/dist/tools/securityInfo.d.ts.map +1 -0
  805. package/dist/tools/securityInfo.js +43 -0
  806. package/dist/tools/securityInfo.js.map +1 -0
  807. package/dist/tools/securityPolicyInfo.d.ts +22 -0
  808. package/dist/tools/securityPolicyInfo.d.ts.map +1 -0
  809. package/dist/tools/securityPolicyInfo.js +49 -0
  810. package/dist/tools/securityPolicyInfo.js.map +1 -0
  811. package/dist/tools/securityPrivilegeXml.d.ts +21 -0
  812. package/dist/tools/securityPrivilegeXml.d.ts.map +1 -0
  813. package/dist/tools/securityPrivilegeXml.js +61 -0
  814. package/dist/tools/securityPrivilegeXml.js.map +1 -0
  815. package/dist/tools/serviceInfo.d.ts +25 -0
  816. package/dist/tools/serviceInfo.d.ts.map +1 -0
  817. package/dist/tools/serviceInfo.js +93 -0
  818. package/dist/tools/serviceInfo.js.map +1 -0
  819. package/dist/tools/suggestEdt.d.ts +15 -0
  820. package/dist/tools/suggestEdt.d.ts.map +1 -0
  821. package/dist/tools/suggestEdt.js +348 -0
  822. package/dist/tools/suggestEdt.js.map +1 -0
  823. package/dist/tools/suggestImplementation.d.ts +20 -0
  824. package/dist/tools/suggestImplementation.d.ts.map +1 -0
  825. package/dist/tools/suggestImplementation.js +144 -0
  826. package/dist/tools/suggestImplementation.js.map +1 -0
  827. package/dist/tools/sysTestRunner.d.ts +14 -0
  828. package/dist/tools/sysTestRunner.d.ts.map +1 -0
  829. package/dist/tools/sysTestRunner.js +145 -0
  830. package/dist/tools/sysTestRunner.js.map +1 -0
  831. package/dist/tools/tableExtensionInfo.d.ts +91 -0
  832. package/dist/tools/tableExtensionInfo.d.ts.map +1 -0
  833. package/dist/tools/tableExtensionInfo.js +305 -0
  834. package/dist/tools/tableExtensionInfo.js.map +1 -0
  835. package/dist/tools/tableInfo.d.ts +23 -0
  836. package/dist/tools/tableInfo.d.ts.map +1 -0
  837. package/dist/tools/tableInfo.js +125 -0
  838. package/dist/tools/tableInfo.js.map +1 -0
  839. package/dist/tools/toolHandler.d.ts +4 -0
  840. package/dist/tools/toolHandler.d.ts.map +1 -0
  841. package/dist/tools/toolHandler.js +508 -0
  842. package/dist/tools/toolHandler.js.map +1 -0
  843. package/dist/tools/undoLastModification.d.ts +15 -0
  844. package/dist/tools/undoLastModification.d.ts.map +1 -0
  845. package/dist/tools/undoLastModification.js +147 -0
  846. package/dist/tools/undoLastModification.js.map +1 -0
  847. package/dist/tools/updateSymbolIndex.d.ts +15 -0
  848. package/dist/tools/updateSymbolIndex.d.ts.map +1 -0
  849. package/dist/tools/updateSymbolIndex.js +520 -0
  850. package/dist/tools/updateSymbolIndex.js.map +1 -0
  851. package/dist/tools/validateCode.d.ts +24 -0
  852. package/dist/tools/validateCode.d.ts.map +1 -0
  853. package/dist/tools/validateCode.js +201 -0
  854. package/dist/tools/validateCode.js.map +1 -0
  855. package/dist/tools/validateFormPattern.d.ts +51 -0
  856. package/dist/tools/validateFormPattern.d.ts.map +1 -0
  857. package/dist/tools/validateFormPattern.js +201 -0
  858. package/dist/tools/validateFormPattern.js.map +1 -0
  859. package/dist/tools/validateObjectNaming.d.ts +21 -0
  860. package/dist/tools/validateObjectNaming.d.ts.map +1 -0
  861. package/dist/tools/validateObjectNaming.js +319 -0
  862. package/dist/tools/validateObjectNaming.js.map +1 -0
  863. package/dist/tools/validateXpp.d.ts +79 -0
  864. package/dist/tools/validateXpp.d.ts.map +1 -0
  865. package/dist/tools/validateXpp.js +705 -0
  866. package/dist/tools/validateXpp.js.map +1 -0
  867. package/dist/tools/verifyD365Project.d.ts +21 -0
  868. package/dist/tools/verifyD365Project.d.ts.map +1 -0
  869. package/dist/tools/verifyD365Project.js +299 -0
  870. package/dist/tools/verifyD365Project.js.map +1 -0
  871. package/dist/tools/viewInfo.d.ts +17 -0
  872. package/dist/tools/viewInfo.d.ts.map +1 -0
  873. package/dist/tools/viewInfo.js +46 -0
  874. package/dist/tools/viewInfo.js.map +1 -0
  875. package/dist/tools/xppKnowledge.d.ts +45 -0
  876. package/dist/tools/xppKnowledge.d.ts.map +1 -0
  877. package/dist/tools/xppKnowledge.js +2815 -0
  878. package/dist/tools/xppKnowledge.js.map +1 -0
  879. package/dist/types/context.d.ts +56 -0
  880. package/dist/types/context.d.ts.map +1 -0
  881. package/dist/types/context.js +5 -0
  882. package/dist/types/context.js.map +1 -0
  883. package/dist/utils/callDedup.d.ts +29 -0
  884. package/dist/utils/callDedup.d.ts.map +1 -0
  885. package/dist/utils/callDedup.js +87 -0
  886. package/dist/utils/callDedup.js.map +1 -0
  887. package/dist/utils/configManager.d.ts +307 -0
  888. package/dist/utils/configManager.d.ts.map +1 -0
  889. package/dist/utils/configManager.js +1169 -0
  890. package/dist/utils/configManager.js.map +1 -0
  891. package/dist/utils/d365XmlNormalizer.d.ts +9 -0
  892. package/dist/utils/d365XmlNormalizer.d.ts.map +1 -0
  893. package/dist/utils/d365XmlNormalizer.js +24 -0
  894. package/dist/utils/d365XmlNormalizer.js.map +1 -0
  895. package/dist/utils/edtExtensionValidator.d.ts +110 -0
  896. package/dist/utils/edtExtensionValidator.d.ts.map +1 -0
  897. package/dist/utils/edtExtensionValidator.js +367 -0
  898. package/dist/utils/edtExtensionValidator.js.map +1 -0
  899. package/dist/utils/eolUtils.d.ts +15 -0
  900. package/dist/utils/eolUtils.d.ts.map +1 -0
  901. package/dist/utils/eolUtils.js +21 -0
  902. package/dist/utils/eolUtils.js.map +1 -0
  903. package/dist/utils/extractManifest.d.ts +34 -0
  904. package/dist/utils/extractManifest.d.ts.map +1 -0
  905. package/dist/utils/extractManifest.js +43 -0
  906. package/dist/utils/extractManifest.js.map +1 -0
  907. package/dist/utils/fieldControlTypes.d.ts +44 -0
  908. package/dist/utils/fieldControlTypes.d.ts.map +1 -0
  909. package/dist/utils/fieldControlTypes.js +97 -0
  910. package/dist/utils/fieldControlTypes.js.map +1 -0
  911. package/dist/utils/formCloner.d.ts +77 -0
  912. package/dist/utils/formCloner.d.ts.map +1 -0
  913. package/dist/utils/formCloner.js +364 -0
  914. package/dist/utils/formCloner.js.map +1 -0
  915. package/dist/utils/formControlExpander.d.ts +68 -0
  916. package/dist/utils/formControlExpander.d.ts.map +1 -0
  917. package/dist/utils/formControlExpander.js +207 -0
  918. package/dist/utils/formControlExpander.js.map +1 -0
  919. package/dist/utils/formControlRepair.d.ts +81 -0
  920. package/dist/utils/formControlRepair.d.ts.map +1 -0
  921. package/dist/utils/formControlRepair.js +203 -0
  922. package/dist/utils/formControlRepair.js.map +1 -0
  923. package/dist/utils/formExtensionShapeValidator.d.ts +44 -0
  924. package/dist/utils/formExtensionShapeValidator.d.ts.map +1 -0
  925. package/dist/utils/formExtensionShapeValidator.js +99 -0
  926. package/dist/utils/formExtensionShapeValidator.js.map +1 -0
  927. package/dist/utils/formPatternTemplates.d.ts +77 -0
  928. package/dist/utils/formPatternTemplates.d.ts.map +1 -0
  929. package/dist/utils/formPatternTemplates.js +1917 -0
  930. package/dist/utils/formPatternTemplates.js.map +1 -0
  931. package/dist/utils/fsExtensionScanner.d.ts +76 -0
  932. package/dist/utils/fsExtensionScanner.d.ts.map +1 -0
  933. package/dist/utils/fsExtensionScanner.js +271 -0
  934. package/dist/utils/fsExtensionScanner.js.map +1 -0
  935. package/dist/utils/fuzzyMatching.d.ts +41 -0
  936. package/dist/utils/fuzzyMatching.d.ts.map +1 -0
  937. package/dist/utils/fuzzyMatching.js +186 -0
  938. package/dist/utils/fuzzyMatching.js.map +1 -0
  939. package/dist/utils/indexStaleness.d.ts +30 -0
  940. package/dist/utils/indexStaleness.d.ts.map +1 -0
  941. package/dist/utils/indexStaleness.js +104 -0
  942. package/dist/utils/indexStaleness.js.map +1 -0
  943. package/dist/utils/loadEnv.d.ts +32 -0
  944. package/dist/utils/loadEnv.d.ts.map +1 -0
  945. package/dist/utils/loadEnv.js +83 -0
  946. package/dist/utils/loadEnv.js.map +1 -0
  947. package/dist/utils/logger.d.ts +4 -0
  948. package/dist/utils/logger.d.ts.map +1 -0
  949. package/dist/utils/logger.js +11 -0
  950. package/dist/utils/logger.js.map +1 -0
  951. package/dist/utils/metadataResolver.d.ts +155 -0
  952. package/dist/utils/metadataResolver.d.ts.map +1 -0
  953. package/dist/utils/metadataResolver.js +277 -0
  954. package/dist/utils/metadataResolver.js.map +1 -0
  955. package/dist/utils/modelClassifier.d.ts +180 -0
  956. package/dist/utils/modelClassifier.d.ts.map +1 -0
  957. package/dist/utils/modelClassifier.js +373 -0
  958. package/dist/utils/modelClassifier.js.map +1 -0
  959. package/dist/utils/operationLocks.d.ts +26 -0
  960. package/dist/utils/operationLocks.d.ts.map +1 -0
  961. package/dist/utils/operationLocks.js +182 -0
  962. package/dist/utils/operationLocks.js.map +1 -0
  963. package/dist/utils/packageResolver.d.ts +52 -0
  964. package/dist/utils/packageResolver.d.ts.map +1 -0
  965. package/dist/utils/packageResolver.js +174 -0
  966. package/dist/utils/packageResolver.js.map +1 -0
  967. package/dist/utils/pathContainment.d.ts +60 -0
  968. package/dist/utils/pathContainment.d.ts.map +1 -0
  969. package/dist/utils/pathContainment.js +270 -0
  970. package/dist/utils/pathContainment.js.map +1 -0
  971. package/dist/utils/projectUtils.d.ts +14 -0
  972. package/dist/utils/projectUtils.d.ts.map +1 -0
  973. package/dist/utils/projectUtils.js +48 -0
  974. package/dist/utils/projectUtils.js.map +1 -0
  975. package/dist/utils/provenanceStore.d.ts +54 -0
  976. package/dist/utils/provenanceStore.d.ts.map +1 -0
  977. package/dist/utils/provenanceStore.js +203 -0
  978. package/dist/utils/provenanceStore.js.map +1 -0
  979. package/dist/utils/richContext.d.ts +45 -0
  980. package/dist/utils/richContext.d.ts.map +1 -0
  981. package/dist/utils/richContext.js +316 -0
  982. package/dist/utils/richContext.js.map +1 -0
  983. package/dist/utils/smartXmlBuilder.d.ts +187 -0
  984. package/dist/utils/smartXmlBuilder.d.ts.map +1 -0
  985. package/dist/utils/smartXmlBuilder.js +504 -0
  986. package/dist/utils/smartXmlBuilder.js.map +1 -0
  987. package/dist/utils/stdioSessionInfo.d.ts +53 -0
  988. package/dist/utils/stdioSessionInfo.d.ts.map +1 -0
  989. package/dist/utils/stdioSessionInfo.js +47 -0
  990. package/dist/utils/stdioSessionInfo.js.map +1 -0
  991. package/dist/utils/suggestionEngine.d.ts +20 -0
  992. package/dist/utils/suggestionEngine.d.ts.map +1 -0
  993. package/dist/utils/suggestionEngine.js +145 -0
  994. package/dist/utils/suggestionEngine.js.map +1 -0
  995. package/dist/utils/symbolLookup.d.ts +60 -0
  996. package/dist/utils/symbolLookup.d.ts.map +1 -0
  997. package/dist/utils/symbolLookup.js +0 -0
  998. package/dist/utils/symbolLookup.js.map +1 -0
  999. package/dist/utils/terminalUi.d.ts +85 -0
  1000. package/dist/utils/terminalUi.d.ts.map +1 -0
  1001. package/dist/utils/terminalUi.js +182 -0
  1002. package/dist/utils/terminalUi.js.map +1 -0
  1003. package/dist/utils/toolMetrics.d.ts +32 -0
  1004. package/dist/utils/toolMetrics.d.ts.map +1 -0
  1005. package/dist/utils/toolMetrics.js +89 -0
  1006. package/dist/utils/toolMetrics.js.map +1 -0
  1007. package/dist/utils/toolProgressMessage.d.ts +8 -0
  1008. package/dist/utils/toolProgressMessage.d.ts.map +1 -0
  1009. package/dist/utils/toolProgressMessage.js +182 -0
  1010. package/dist/utils/toolProgressMessage.js.map +1 -0
  1011. package/dist/utils/workspaceDetector.d.ts +51 -0
  1012. package/dist/utils/workspaceDetector.d.ts.map +1 -0
  1013. package/dist/utils/workspaceDetector.js +328 -0
  1014. package/dist/utils/workspaceDetector.js.map +1 -0
  1015. package/dist/utils/xppConfigProvider.d.ts +48 -0
  1016. package/dist/utils/xppConfigProvider.d.ts.map +1 -0
  1017. package/dist/utils/xppConfigProvider.js +121 -0
  1018. package/dist/utils/xppConfigProvider.js.map +1 -0
  1019. package/dist/utils/xppDocGen.d.ts +39 -0
  1020. package/dist/utils/xppDocGen.d.ts.map +1 -0
  1021. package/dist/utils/xppDocGen.js +518 -0
  1022. package/dist/utils/xppDocGen.js.map +1 -0
  1023. package/dist/utils/xppFormat.d.ts +21 -0
  1024. package/dist/utils/xppFormat.d.ts.map +1 -0
  1025. package/dist/utils/xppFormat.js +102 -0
  1026. package/dist/utils/xppFormat.js.map +1 -0
  1027. package/dist/utils/xppSelectLint.d.ts +18 -0
  1028. package/dist/utils/xppSelectLint.d.ts.map +1 -0
  1029. package/dist/utils/xppSelectLint.js +80 -0
  1030. package/dist/utils/xppSelectLint.js.map +1 -0
  1031. package/dist/validation/formPatternValidator.d.ts +53 -0
  1032. package/dist/validation/formPatternValidator.d.ts.map +1 -0
  1033. package/dist/validation/formPatternValidator.js +454 -0
  1034. package/dist/validation/formPatternValidator.js.map +1 -0
  1035. package/dist/workspace/contextRanker.d.ts +58 -0
  1036. package/dist/workspace/contextRanker.d.ts.map +1 -0
  1037. package/dist/workspace/contextRanker.js +216 -0
  1038. package/dist/workspace/contextRanker.js.map +1 -0
  1039. package/dist/workspace/contextSnapshot.d.ts +68 -0
  1040. package/dist/workspace/contextSnapshot.d.ts.map +1 -0
  1041. package/dist/workspace/contextSnapshot.js +193 -0
  1042. package/dist/workspace/contextSnapshot.js.map +1 -0
  1043. package/dist/workspace/hybridSearch.d.ts +39 -0
  1044. package/dist/workspace/hybridSearch.d.ts.map +1 -0
  1045. package/dist/workspace/hybridSearch.js +96 -0
  1046. package/dist/workspace/hybridSearch.js.map +1 -0
  1047. package/dist/workspace/workspaceScanner.d.ts +95 -0
  1048. package/dist/workspace/workspaceScanner.d.ts.map +1 -0
  1049. package/dist/workspace/workspaceScanner.js +247 -0
  1050. package/dist/workspace/workspaceScanner.js.map +1 -0
  1051. package/dist/workspace/workspaceUtils.d.ts +23 -0
  1052. package/dist/workspace/workspaceUtils.d.ts.map +1 -0
  1053. package/dist/workspace/workspaceUtils.js +77 -0
  1054. package/dist/workspace/workspaceUtils.js.map +1 -0
  1055. package/package.json +94 -0
@@ -0,0 +1,327 @@
1
+ /**
2
+ * prepare_change — single-round context aggregator for D365FO extension work.
3
+ *
4
+ * Gathers in one call everything an AI needs to safely extend an existing
5
+ * D365FO object:
6
+ * - exact method signature from the symbol index
7
+ * - existing CoC wrappers (bridge-first via DYNAMICSXREFDB, index fallback)
8
+ * - CoC/event-handler eligibility
9
+ * - recommended extension strategy
10
+ * - object naming validation for the proposed new name
11
+ * - relevant code patterns
12
+ *
13
+ * Internally runs up to 5 index/bridge queries in parallel. Returns a
14
+ * provenance token (SHA-256, 30-min TTL) that proves the model looked at
15
+ * the real codebase before writing code.
16
+ *
17
+ * Fail-closed enforcement: when GROUNDING_ENFORCE=true, extension patterns
18
+ * in generate_object(mode="pattern") and d365fo_file(action="create") require this token.
19
+ */
20
+ import { z } from 'zod';
21
+ import { createProvenanceToken } from '../utils/provenanceStore.js';
22
+ import { tryBridgeCocExtensions } from '../bridge/bridgeAdapter.js';
23
+ import { getConfigManager } from '../utils/configManager.js';
24
+ import { lookupSymbolNocase } from '../utils/symbolLookup.js';
25
+ import { rankContext, renderRankedContext } from '../workspace/contextRanker.js';
26
+ // Schema
27
+ export const prepareChangeArgsSchema = z.object({
28
+ goal: z.string().describe('One-sentence description of the intended change. ' +
29
+ 'Example: "Add CoC on CustTable.validateWrite to enforce a custom rule."'),
30
+ objectName: z.string().describe('Name of the D365FO object to extend or modify (class, table, form, etc.). ' +
31
+ 'Example: "CustTable", "SalesFormLetter", "CustPostInvoice".'),
32
+ methodName: z.string().optional().describe('Target method name when the change involves a specific method (CoC or event handlers). ' +
33
+ 'Example: "validateWrite", "insert", "post".'),
34
+ objectType: z.enum([
35
+ 'class', 'table', 'form', 'query', 'view', 'enum', 'edt',
36
+ 'data-entity', 'map', 'report', 'security-duty', 'security-role',
37
+ ]).optional().describe('D365FO object type. Auto-detected from the symbol index when omitted.'),
38
+ proposedName: z.string().optional().describe('Proposed name for the new extension class/object. ' +
39
+ 'When provided, naming validation runs and the result is included in the bundle.'),
40
+ });
41
+ // Helpers
42
+ /** Case-insensitive top-level object lookup — see src/utils/symbolLookup.ts. */
43
+ function lookupObjectNocase(objectName, context) {
44
+ return lookupSymbolNocase(context.symbolIndex.getReadDb(), objectName);
45
+ }
46
+ /** Resolve an object's canonical name + type from the symbol index. */
47
+ async function resolveObject(objectName, context) {
48
+ try {
49
+ return lookupObjectNocase(objectName, context);
50
+ }
51
+ catch {
52
+ return undefined;
53
+ }
54
+ }
55
+ /** Look up method signature directly from the symbol index. */
56
+ async function fetchMethodSignature(objectName, methodName, context) {
57
+ try {
58
+ const db = context.symbolIndex.getReadDb();
59
+ // parent_name stays BINARY (canonical casing resolved upstream) so the
60
+ // probe uses idx_parent_type_name; NOCASE applies only to the method name
61
+ // within that object's few hundred method rows.
62
+ const row = db.prepare(`SELECT signature, tags FROM symbols
63
+ WHERE parent_name = ? AND type = 'method' AND name = ? COLLATE NOCASE
64
+ LIMIT 1`).get(objectName, methodName);
65
+ if (row) {
66
+ const lines = [`Signature : ${row.signature ?? '(unavailable)'}`];
67
+ const tags = row.tags ?? '';
68
+ if (tags.includes('hookable:false'))
69
+ lines.push('⛔ [Hookable(false)] — CoC is blocked.');
70
+ if (tags.includes('wrappable:false'))
71
+ lines.push('⛔ [Wrappable(false)] — wrapping is blocked.');
72
+ if (/\bfinal\b/i.test(row.signature ?? '')) {
73
+ lines.push('⚠️ Method is final — requires [Wrappable(true)] to enable CoC.');
74
+ }
75
+ return lines.join('\n');
76
+ }
77
+ }
78
+ catch {
79
+ // ignore DB errors
80
+ }
81
+ return '(not found in symbol index)';
82
+ }
83
+ /** Fetch existing CoC extensions — bridge-first, index fallback. */
84
+ async function fetchCocExtensions(objectName, methodName, context) {
85
+ // Bridge first (DYNAMICSXREFDB — authoritative)
86
+ if (context.bridge) {
87
+ try {
88
+ const result = await tryBridgeCocExtensions(context.bridge, objectName, methodName);
89
+ if (result) {
90
+ const text = result.content
91
+ .filter((i) => i?.type === 'text')
92
+ .map((i) => i.text)
93
+ .join('\n');
94
+ if (text)
95
+ return text;
96
+ }
97
+ }
98
+ catch {
99
+ // Fall through to index
100
+ }
101
+ }
102
+ // Symbol index fallback
103
+ try {
104
+ const db = context.symbolIndex.getReadDb();
105
+ const rows = db.prepare(`SELECT name, model FROM symbols
106
+ WHERE type IN ('class', 'class-extension')
107
+ AND (name LIKE ? OR name LIKE ?)
108
+ LIMIT 20`).all(`${objectName}%Extension`, `${objectName}%_Extension`);
109
+ if (rows.length > 0) {
110
+ return rows.map(r => ` ${r.name} (${r.model})`).join('\n') +
111
+ '\n_(source: symbol index — bridge unavailable for exact cross-reference)_';
112
+ }
113
+ }
114
+ catch {
115
+ // ignore
116
+ }
117
+ return 'None found.';
118
+ }
119
+ /** Determine CoC eligibility from the symbol index. */
120
+ async function fetchEligibility(objectName, methodName, context) {
121
+ if (!methodName)
122
+ return 'No specific method targeted — check base class documentation.';
123
+ try {
124
+ const db = context.symbolIndex.getReadDb();
125
+ const row = db.prepare(`SELECT signature, tags FROM symbols
126
+ WHERE parent_name = ? AND type = 'method' AND name = ? COLLATE NOCASE
127
+ LIMIT 1`).get(objectName, methodName);
128
+ if (row) {
129
+ const tags = row.tags ?? '';
130
+ if (tags.includes('hookable:false'))
131
+ return '⛔ [Hookable(false)] — CoC is blocked on this method.';
132
+ if (tags.includes('wrappable:false'))
133
+ return '⛔ [Wrappable(false)] — wrapping is blocked on this method.';
134
+ if (/\bfinal\b/i.test(row.signature ?? '')) {
135
+ return '⚠️ Method is final — requires [Wrappable(true)] attribute to enable CoC.';
136
+ }
137
+ return '✅ Method appears CoC-eligible.';
138
+ }
139
+ }
140
+ catch {
141
+ // ignore
142
+ }
143
+ return '(could not determine — method not found in symbol index)';
144
+ }
145
+ /** Suggest relevant extension strategies based on object type. */
146
+ function fetchStrategy(objectType) {
147
+ const strategies = [];
148
+ if (objectType === 'table') {
149
+ strategies.push('• Table extension (AxTableExtension) — add fields, indexes, relations, field groups');
150
+ strategies.push('• Table extension class [ExtensionOf(tableStr(...))] — CoC on table methods');
151
+ strategies.push('• Event handler [DataEventHandler(tableStr(X), DataEventType::...)] — subscribe to data events');
152
+ }
153
+ else if (objectType === 'class') {
154
+ strategies.push('• Class extension [ExtensionOf(classStr(...))] — CoC on class methods');
155
+ strategies.push('• Event handler [SubscribesTo(...)] — subscribe to delegate events');
156
+ }
157
+ else if (objectType === 'form') {
158
+ strategies.push('• Form extension (AxFormExtension) — add controls, data sources, menu items');
159
+ strategies.push('• Form extension class [ExtensionOf(formStr(...))] — CoC on form methods');
160
+ strategies.push('• Form datasource extension [ExtensionOf(formDataSourceStr(...))] — CoC on DS methods');
161
+ }
162
+ else if (objectType === 'map') {
163
+ strategies.push('• Map extension class [ExtensionOf(mapStr(...))] — add/wrap map methods');
164
+ }
165
+ else if (objectType === 'security-duty') {
166
+ strategies.push('• security-duty-extension (AxSecurityDutyExtension) — add privileges to this EXISTING duty without overlaying it');
167
+ strategies.push('• New standalone security-duty — only if this duty is not a fit for the new privilege at all');
168
+ }
169
+ else if (objectType === 'security-role') {
170
+ strategies.push('• security-role-extension (AxSecurityRoleExtension) — add duties/privileges to this EXISTING role without overlaying it');
171
+ strategies.push('• New standalone security-role — only if this role is not a fit for the new duty at all');
172
+ }
173
+ else {
174
+ strategies.push('• Extension class via [ExtensionOf] — check the object type for supported extension mechanisms');
175
+ }
176
+ strategies.push('• New standalone class — if no suitable extension point exists');
177
+ return strategies.join('\n');
178
+ }
179
+ /** Validate proposed object name. */
180
+ async function fetchNamingValidation(proposedName, context) {
181
+ const issues = [];
182
+ if (proposedName.length > 81) {
183
+ issues.push(`❌ Name exceeds 81-char AOT limit (${proposedName.length} chars). Shorten it.`);
184
+ }
185
+ if (!/^[A-Z]/.test(proposedName)) {
186
+ issues.push('❌ Name must start with an uppercase letter (PascalCase).');
187
+ }
188
+ try {
189
+ const existing = lookupObjectNocase(proposedName, context);
190
+ if (existing) {
191
+ issues.push(`⚠️ Name "${existing.name}" already exists in model "${existing.model}".`);
192
+ }
193
+ }
194
+ catch {
195
+ // ignore
196
+ }
197
+ const modelName = getConfigManager().getModelName();
198
+ if (modelName && !proposedName.includes(modelName) && !proposedName.endsWith('_Extension')) {
199
+ issues.push(`ℹ️ Confirm naming follows your convention (active model: ${modelName}).`);
200
+ }
201
+ return issues.length > 0 ? issues.join('\n') : `✅ "${proposedName}" looks valid.`;
202
+ }
203
+ /** Fetch relevant patterns from the index. */
204
+ async function fetchPatterns(objectName, objectType, context) {
205
+ try {
206
+ const db = context.symbolIndex.getReadDb();
207
+ // INDEXED BY: with `description != ''` alone the planner scans and fetches
208
+ // every row of the type (77 s cold on a production DB). Forcing
209
+ // idx_type_name evaluates the LIKE against the index, so only name
210
+ // matches ever touch the table.
211
+ const rows = db.prepare(`SELECT name, description FROM symbols INDEXED BY idx_type_name
212
+ WHERE type = ? AND name LIKE ? AND description != ''
213
+ ORDER BY LENGTH(name)
214
+ LIMIT 3`).all(objectType ?? 'class', `%${objectName}%`);
215
+ if (rows.length > 0) {
216
+ return rows.map(r => ` ${r.name}: ${r.description}`).join('\n');
217
+ }
218
+ }
219
+ catch {
220
+ // ignore
221
+ }
222
+ return '(no similar patterns found in index)';
223
+ }
224
+ // Tool handler
225
+ export async function prepareChangeTool(request, context) {
226
+ const raw = request?.params?.arguments ?? request;
227
+ const parsed = prepareChangeArgsSchema.safeParse(raw);
228
+ if (!parsed.success) {
229
+ return {
230
+ isError: true,
231
+ content: [{ type: 'text', text: `❌ Invalid parameters: ${parsed.error.message}` }],
232
+ };
233
+ }
234
+ const { goal, objectName: rawObjectName, methodName, objectType: explicitType, proposedName } = parsed.data;
235
+ // Resolve canonical casing + type from the index; downstream lookups use the
236
+ // canonical name so they can stay on BINARY-collated indexes.
237
+ const resolved = await resolveObject(rawObjectName, context);
238
+ const objectName = resolved?.name ?? rawObjectName;
239
+ const resolvedType = explicitType ?? resolved?.type;
240
+ // Run all fact-gathering queries in parallel
241
+ const [sigText, cocText, eligText, patternText, namingText] = await Promise.all([
242
+ methodName
243
+ ? fetchMethodSignature(objectName, methodName, context)
244
+ : Promise.resolve(null),
245
+ fetchCocExtensions(objectName, methodName, context),
246
+ fetchEligibility(objectName, methodName, context),
247
+ fetchPatterns(objectName, resolvedType, context),
248
+ proposedName
249
+ ? fetchNamingValidation(proposedName, context)
250
+ : Promise.resolve(null),
251
+ ]);
252
+ // Build provenance bundle
253
+ const token = createProvenanceToken({
254
+ goal,
255
+ objectName,
256
+ methodName,
257
+ objectType: resolvedType,
258
+ proposedName,
259
+ methodSignature: sigText ?? undefined,
260
+ cocExtensions: cocText,
261
+ extensionEligibility: eligText,
262
+ recommendedStrategy: fetchStrategy(resolvedType),
263
+ namingValidation: namingText ?? undefined,
264
+ patterns: patternText,
265
+ });
266
+ const strategy = fetchStrategy(resolvedType);
267
+ // Format output
268
+ const lines = [];
269
+ lines.push(`## prepare(mode="change"): context for \`${objectName}\`${methodName ? `::${methodName}` : ''}`);
270
+ lines.push('');
271
+ lines.push(`**Goal:** ${goal}`);
272
+ if (resolvedType)
273
+ lines.push(`**Object type (resolved):** ${resolvedType}`);
274
+ lines.push('');
275
+ if (sigText !== null) {
276
+ lines.push('### Method signature _(symbol index)_');
277
+ lines.push(sigText);
278
+ lines.push('');
279
+ }
280
+ lines.push('### Existing CoC extensions');
281
+ lines.push(cocText);
282
+ lines.push('');
283
+ if (methodName) {
284
+ lines.push('### CoC eligibility');
285
+ lines.push(eligText);
286
+ lines.push('');
287
+ }
288
+ lines.push('### Recommended extension strategies');
289
+ lines.push(strategy);
290
+ lines.push('');
291
+ lines.push('### Related patterns _(symbol index)_');
292
+ lines.push(patternText);
293
+ lines.push('');
294
+ // Ranked neighborhood, anchored on the target object; additive, best-effort.
295
+ try {
296
+ const ranked = rankContext(context, {
297
+ intent: `${goal} ${objectName} ${methodName ?? ''}`,
298
+ activeObject: { name: objectName, type: resolvedType },
299
+ });
300
+ lines.push(...renderRankedContext(ranked));
301
+ lines.push('');
302
+ }
303
+ catch {
304
+ // omit on failure
305
+ }
306
+ if (namingText !== null) {
307
+ lines.push(`### Naming validation for \`${proposedName}\``);
308
+ lines.push(namingText);
309
+ lines.push('');
310
+ }
311
+ lines.push('---');
312
+ lines.push(`**Grounding token:** \`${token}\``);
313
+ lines.push('');
314
+ lines.push(process.env.GROUNDING_ENFORCE === 'true'
315
+ ? '⚠️ **GROUNDING_ENFORCE=true** — pass `groundingToken` to `generate_object(mode="pattern")` ' +
316
+ '(extension patterns), `d365fo_file(action="create")` and `d365fo_file(action="modify")` (extension objectTypes). ' +
317
+ `The token is bound to \`${objectName}\` — it does not authorize writes to other objects. ` +
318
+ 'Token expires in 30 minutes.'
319
+ : 'ℹ️ Pass `groundingToken` to `generate_object(mode="pattern")`, `d365fo_file(action="create")` or `d365fo_file(action="modify")` ' +
320
+ 'to confirm this context was used. Set `GROUNDING_ENFORCE=true` to require it.');
321
+ return {
322
+ content: [{ type: 'text', text: lines.join('\n') }],
323
+ };
324
+ }
325
+ // Tool registration (name, description, inputSchema) lives inline in
326
+ // src/server/mcpServer.ts - the single source of truth for tool instructions.
327
+ //# sourceMappingURL=prepareChange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareChange.js","sourceRoot":"","sources":["../../src/tools/prepareChange.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * prepare_create — single-round context aggregator for NEW D365FO objects.
3
+ *
4
+ * Mirror of prepare_change for object creation: one call replaces the
5
+ * search → validate_object_naming → suggest_edt → labels → patterns
6
+ * sequence (4–6 agentic rounds) with a single parallel query bundle:
7
+ * - name collision check (exact + prefix variants) against the symbol index
8
+ * - naming validation incl. the prefix the write tool will actually apply
9
+ * - similar existing objects to copy patterns from
10
+ * - EDT suggestions for planned table fields (edt_metadata + symbols)
11
+ * - reusable existing labels matching the object name
12
+ * - mined property defaults from property_stats (what standard models set)
13
+ * - grounding token (object-bound, 30-min TTL)
14
+ */
15
+ import { z } from 'zod';
16
+ import type { XppServerContext } from '../types/context.js';
17
+ export declare const prepareCreateArgsSchema: z.ZodObject<{
18
+ goal: z.ZodString;
19
+ objectName: z.ZodString;
20
+ objectType: z.ZodEnum<{
21
+ "business-event": "business-event";
22
+ class: "class";
23
+ "data-entity": "data-entity";
24
+ edt: "edt";
25
+ enum: "enum";
26
+ form: "form";
27
+ kpi: "kpi";
28
+ map: "map";
29
+ menu: "menu";
30
+ "menu-item-action": "menu-item-action";
31
+ "menu-item-display": "menu-item-display";
32
+ "menu-item-output": "menu-item-output";
33
+ query: "query";
34
+ report: "report";
35
+ "security-duty": "security-duty";
36
+ "security-privilege": "security-privilege";
37
+ "security-role": "security-role";
38
+ table: "table";
39
+ tile: "tile";
40
+ view: "view";
41
+ }>;
42
+ fieldsHint: z.ZodOptional<z.ZodArray<z.ZodString>>;
43
+ }, z.core.$strip>;
44
+ export declare function prepareCreateTool(request: any, context: XppServerContext): Promise<any>;
45
+ //# sourceMappingURL=prepareCreate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareCreate.d.ts","sourceRoot":"","sources":["../../src/tools/prepareCreate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQ5D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuBlC,CAAC;AAmLH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CA8E7F"}
@@ -0,0 +1,263 @@
1
+ /**
2
+ * prepare_create — single-round context aggregator for NEW D365FO objects.
3
+ *
4
+ * Mirror of prepare_change for object creation: one call replaces the
5
+ * search → validate_object_naming → suggest_edt → labels → patterns
6
+ * sequence (4–6 agentic rounds) with a single parallel query bundle:
7
+ * - name collision check (exact + prefix variants) against the symbol index
8
+ * - naming validation incl. the prefix the write tool will actually apply
9
+ * - similar existing objects to copy patterns from
10
+ * - EDT suggestions for planned table fields (edt_metadata + symbols)
11
+ * - reusable existing labels matching the object name
12
+ * - mined property defaults from property_stats (what standard models set)
13
+ * - grounding token (object-bound, 30-min TTL)
14
+ */
15
+ import { z } from 'zod';
16
+ import { createProvenanceToken } from '../utils/provenanceStore.js';
17
+ import { getConfigManager } from '../utils/configManager.js';
18
+ import { resolveObjectPrefix, applyObjectPrefix } from '../utils/modelClassifier.js';
19
+ import { rankContext, renderRankedContext } from '../workspace/contextRanker.js';
20
+ import { lookupSymbolsNocase } from '../utils/symbolLookup.js';
21
+ import { RESERVED_SYSTEM_FIELD_NAMES } from './generateSmartTable.js';
22
+ export const prepareCreateArgsSchema = z.object({
23
+ goal: z.string().describe('One-sentence description of what the new object is for. ' +
24
+ 'Example: "Parameter table for the Contoso import feature."'),
25
+ objectName: z.string().describe('Proposed BASE name of the new object WITHOUT model prefix ' +
26
+ '(the same value you would pass to d365fo_file(action="create")). Example: "ImportParameters".'),
27
+ objectType: z.enum([
28
+ 'class', 'table', 'form', 'enum', 'edt', 'query', 'view',
29
+ 'data-entity', 'report', 'menu-item-display', 'menu-item-action',
30
+ 'menu-item-output', 'menu', 'security-privilege', 'security-duty', 'security-role',
31
+ 'business-event', 'tile', 'kpi', 'map',
32
+ ]).describe('Type of the new D365FO object. Wholly new standalone objects only — for ' +
33
+ 'extending an EXISTING object (table-extension, form-extension, CoC class-extension, ' +
34
+ 'etc.) use prepare(mode="change") instead, which auto-detects the base object\'s type.'),
35
+ fieldsHint: z.array(z.string()).optional().describe('For tables/views: planned field names (e.g. ["CustAccount", "ImportDate", "Qty"]). ' +
36
+ 'Each gets EDT suggestions from the index.'),
37
+ });
38
+ // Lookups below are all index-only, run in parallel.
39
+ /** Exact + prefixed collision check. */
40
+ function checkCollisions(finalName, baseName, context) {
41
+ try {
42
+ const db = context.symbolIndex.getReadDb();
43
+ // `name IN (?, ?) COLLATE NOCASE` silently compared case-SENSITIVELY (the
44
+ // COLLATE binds to the IN expression, not the column), so differently-cased
45
+ // collisions were missed. The nocase helper also stays on the indexes.
46
+ const rows = [];
47
+ const seen = new Set();
48
+ for (const n of new Set([finalName, baseName])) {
49
+ for (const r of lookupSymbolsNocase(db, n, { limit: 5 })) {
50
+ const key = `${r.name} ${r.type} ${r.model ?? ''}`;
51
+ if (!seen.has(key)) {
52
+ seen.add(key);
53
+ rows.push(r);
54
+ }
55
+ }
56
+ }
57
+ if (rows.length > 0) {
58
+ return rows
59
+ .map(r => `⚠️ "${r.name}" already exists as ${r.type} in model "${r.model}" — pick a different name or extend it instead.`)
60
+ .join('\n');
61
+ }
62
+ return `✅ No collision — neither "${finalName}" nor "${baseName}" exists in the index.`;
63
+ }
64
+ catch {
65
+ return '(collision check unavailable — index not ready)';
66
+ }
67
+ }
68
+ /** Naming validation incl. the prefix create_d365fo_file will apply. */
69
+ function validateNaming(baseName, finalName, modelName) {
70
+ const issues = [];
71
+ if (finalName.length > 81) {
72
+ issues.push(`❌ Final name "${finalName}" exceeds the 81-char AOT limit (${finalName.length}).`);
73
+ }
74
+ if (!/^[A-Za-z][A-Za-z0-9_]*$/.test(baseName)) {
75
+ issues.push('❌ Name may contain only letters, digits and underscores, and must not start with a digit.');
76
+ }
77
+ if (!/^[A-Z]/.test(baseName)) {
78
+ issues.push('❌ Name must start with an uppercase letter (PascalCase).');
79
+ }
80
+ const lines = [
81
+ `Base name : ${baseName}`,
82
+ `Final name : ${finalName}${finalName !== baseName ? ' _(prefix auto-applied by d365fo_file(action="create"))_' : ''}`,
83
+ `Model : ${modelName ?? '(not configured — set modelName or .mcp.json)'}`,
84
+ ];
85
+ if (issues.length > 0)
86
+ lines.push(...issues);
87
+ else
88
+ lines.push('✅ Naming looks valid.');
89
+ return lines.join('\n');
90
+ }
91
+ /** Similar existing objects worth copying patterns from. */
92
+ function findSimilarObjects(baseName, objectType, context) {
93
+ try {
94
+ const db = context.symbolIndex.getReadDb();
95
+ // Split CamelCase into tokens and search for the most specific ones
96
+ const tokens = baseName.split(/(?=[A-Z])/).filter(t => t.length >= 4);
97
+ const needle = tokens.length > 0 ? tokens[tokens.length - 1] : baseName;
98
+ // INDEXED BY: without it the planner picks idx_symbols_parent_name for
99
+ // `parent_name IS NULL` and fetches every top-level row (4.6 min cold on a
100
+ // production DB, blocking the event loop until the MCP client kills the
101
+ // server). idx_type_name evaluates the LIKE against the index, so only
102
+ // name matches ever touch the table (~10 ms).
103
+ const rows = db.prepare(`SELECT name, model FROM symbols INDEXED BY idx_type_name
104
+ WHERE type = ? AND name LIKE ? AND parent_name IS NULL
105
+ ORDER BY LENGTH(name) LIMIT 5`).all(objectType, `%${needle}%`);
106
+ if (rows.length > 0) {
107
+ return rows.map(r => ` ${r.name} (${r.model})`).join('\n') +
108
+ `\n_Use get_${objectType === 'table' ? 'table' : 'class'}_info or copyFrom in generate_object(mode="scaffold") to reuse their structure._`;
109
+ }
110
+ }
111
+ catch {
112
+ // ignore
113
+ }
114
+ return '(no similar objects found — greenfield)';
115
+ }
116
+ /** EDT suggestions for planned table fields. */
117
+ function suggestEdtsForFields(fieldsHint, context) {
118
+ const lines = [];
119
+ // Custom fields using reserved system field names fail compilation
120
+ const reservedHits = fieldsHint.filter(f => RESERVED_SYSTEM_FIELD_NAMES.has(f.toLowerCase()));
121
+ if (reservedHits.length > 0) {
122
+ lines.push(`⛔ **Reserved system field names — do NOT use as custom fields:**`, ...reservedHits.map(f => ` • \`${f}\` — reserved by the platform (auto-tracked). Rename to a non-reserved name (e.g. "NoteDateTime" instead of "CreatedDateTime").`), ` The platform auto-provides: CreatedDateTime, ModifiedDateTime, CreatedBy, ModifiedBy, RecId, RecVersion, DataAreaId, Partition.`, ``);
123
+ }
124
+ try {
125
+ const db = context.symbolIndex.getReadDb();
126
+ // INDEXED BY keeps the LIKE on the index (runs once per hinted field).
127
+ const stmt = db.prepare(`SELECT name, signature FROM symbols INDEXED BY idx_type_name
128
+ WHERE type = 'edt' AND name LIKE ? ORDER BY LENGTH(name) LIMIT 3`);
129
+ for (const field of fieldsHint.slice(0, 10)) {
130
+ if (RESERVED_SYSTEM_FIELD_NAMES.has(field.toLowerCase()))
131
+ continue;
132
+ const tokens = field.split(/(?=[A-Z])/).filter(t => t.length >= 3);
133
+ const needle = tokens.length > 0 ? tokens[tokens.length - 1] : field;
134
+ const rows = stmt.all(`%${needle}%`);
135
+ lines.push(rows.length > 0
136
+ ? ` ${field} → ${rows.map(r => r.name + (r.signature ? ` (extends ${r.signature})` : '')).join(', ')}`
137
+ : ` ${field} → (no EDT match — use suggest_edt("${field}") or base it on a primitive + label)`);
138
+ }
139
+ }
140
+ catch {
141
+ return '(EDT lookup unavailable)';
142
+ }
143
+ return lines.join('\n');
144
+ }
145
+ /** Existing labels that could be reused for the new object. */
146
+ function findReusableLabels(baseName, context) {
147
+ try {
148
+ const words = baseName.replace(/([A-Z])/g, ' $1').trim();
149
+ const rows = context.symbolIndex.searchLabels(words, { language: 'en-US', limit: 5 });
150
+ if (rows.length > 0) {
151
+ return rows
152
+ .map(r => ` @${r.labelFileId}:${r.labelId} = "${r.text}" (${r.model})`)
153
+ .join('\n') + '\n_Reuse instead of creating duplicates (rule: labels before labels)._';
154
+ }
155
+ }
156
+ catch {
157
+ // ignore
158
+ }
159
+ return '(no matching labels — create new ones via labels)';
160
+ }
161
+ /** Mined property defaults for the object type (tables only for now). */
162
+ function minedPropertyDefaults(objectType, context) {
163
+ if (objectType !== 'table')
164
+ return '';
165
+ try {
166
+ const idx = context.symbolIndex;
167
+ if (typeof idx.getPropertyPresenceRatio !== 'function')
168
+ return '';
169
+ const lines = [];
170
+ for (const prop of ['Label', 'TableGroup', 'PrimaryIndex', 'ClusteredIndex', 'AlternateKeyIndex']) {
171
+ const r = idx.getPropertyPresenceRatio('AxTable', prop);
172
+ if (r.total === 0)
173
+ continue;
174
+ lines.push(` ${prop}: set by ${Math.round(r.ratio * 100)}% of standard tables${r.ratio >= 0.8 ? ' → REQUIRED' : ''}`);
175
+ }
176
+ const dist = idx.getPropertyValueDistribution('AxTable', 'TableGroup', 4);
177
+ if (dist.length > 0) {
178
+ const total = dist.reduce((s, d) => s + d.count, 0);
179
+ lines.push(` TableGroup values: ${dist.map(d => `${d.value} (${Math.round((d.count / total) * 100)}%)`).join(', ')}`);
180
+ }
181
+ if (lines.length > 0) {
182
+ return lines.join('\n');
183
+ }
184
+ }
185
+ catch {
186
+ // ignore
187
+ }
188
+ return '(no mined statistics — run build-database to mine standard models)';
189
+ }
190
+ export async function prepareCreateTool(request, context) {
191
+ const raw = request?.params?.arguments ?? request;
192
+ const parsed = prepareCreateArgsSchema.safeParse(raw);
193
+ if (!parsed.success) {
194
+ return {
195
+ isError: true,
196
+ content: [{ type: 'text', text: `❌ Invalid parameters: ${parsed.error.message}` }],
197
+ };
198
+ }
199
+ const { goal, objectName, objectType, fieldsHint } = parsed.data;
200
+ const modelName = getConfigManager().getModelName() ?? undefined;
201
+ const prefix = resolveObjectPrefix(modelName ?? '');
202
+ const finalName = prefix ? applyObjectPrefix(objectName, prefix) : objectName;
203
+ // All lookups are synchronous index queries — run them in one tick.
204
+ const [collisions, naming, similar, edts, labels, propertyDefaults] = [
205
+ checkCollisions(finalName, objectName, context),
206
+ validateNaming(objectName, finalName, modelName),
207
+ findSimilarObjects(objectName, objectType, context),
208
+ fieldsHint && fieldsHint.length > 0 ? suggestEdtsForFields(fieldsHint, context) : '',
209
+ findReusableLabels(objectName, context),
210
+ minedPropertyDefaults(objectType, context),
211
+ ];
212
+ const token = createProvenanceToken({
213
+ goal,
214
+ objectName,
215
+ objectType,
216
+ proposedName: finalName,
217
+ });
218
+ const lines = [
219
+ `# prepare(mode="create") — ${objectType} \`${finalName}\``,
220
+ '',
221
+ `**Goal:** ${goal}`,
222
+ '',
223
+ '### Collision check _(symbol index)_',
224
+ collisions,
225
+ '',
226
+ '### Naming',
227
+ naming,
228
+ '',
229
+ '### Similar existing objects _(copy patterns from these)_',
230
+ similar,
231
+ '',
232
+ ];
233
+ if (edts) {
234
+ lines.push('### EDT suggestions for planned fields _(edt index)_', edts, '');
235
+ }
236
+ lines.push('### Reusable labels _(labels index)_', labels, '');
237
+ if (propertyDefaults) {
238
+ lines.push('### Property defaults _(mined from standard models)_', propertyDefaults, '');
239
+ }
240
+ // Surface existing code relevant to the goal; best-effort, omit on failure
241
+ try {
242
+ const ranked = rankContext(context, {
243
+ intent: `${goal} ${objectName} ${(fieldsHint ?? []).join(' ')}`,
244
+ activeObject: { name: objectName, type: objectType },
245
+ });
246
+ lines.push(...renderRankedContext(ranked), '');
247
+ }
248
+ catch {
249
+ // Additive — omit on failure.
250
+ }
251
+ lines.push('---');
252
+ lines.push(`**Grounding token:** \`${token}\``);
253
+ lines.push('');
254
+ lines.push('Next: generate the object, run `validate_code(mode="references")` + `validate_code(mode="syntax")` on the result, ' +
255
+ `then call \`d365fo_file(action="create", objectType="${objectType}", objectName="${objectName}", groundingToken=...)\`. ` +
256
+ 'The token is bound to this object and expires in 30 minutes.');
257
+ return {
258
+ content: [{ type: 'text', text: lines.join('\n') }],
259
+ };
260
+ }
261
+ // Tool registration (name, description, inputSchema) lives inline in
262
+ // src/server/mcpServer.ts - the single source of truth for tool instructions.
263
+ //# sourceMappingURL=prepareCreate.js.map