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.
- package/LICENSE +21 -0
- package/README.md +205 -0
- package/dist/bridge/bridgeAdapter.d.ts +319 -0
- package/dist/bridge/bridgeAdapter.d.ts.map +1 -0
- package/dist/bridge/bridgeAdapter.js +2003 -0
- package/dist/bridge/bridgeAdapter.js.map +1 -0
- package/dist/bridge/bridgeClient.d.ts +255 -0
- package/dist/bridge/bridgeClient.d.ts.map +1 -0
- package/dist/bridge/bridgeClient.js +741 -0
- package/dist/bridge/bridgeClient.js.map +1 -0
- package/dist/bridge/bridgeTypes.d.ts +561 -0
- package/dist/bridge/bridgeTypes.d.ts.map +1 -0
- package/dist/bridge/bridgeTypes.js +6 -0
- package/dist/bridge/bridgeTypes.js.map +1 -0
- package/dist/bridge/debouncedRefresh.d.ts +16 -0
- package/dist/bridge/debouncedRefresh.d.ts.map +1 -0
- package/dist/bridge/debouncedRefresh.js +77 -0
- package/dist/bridge/debouncedRefresh.js.map +1 -0
- package/dist/bridge/index.d.ts +21 -0
- package/dist/bridge/index.d.ts.map +1 -0
- package/dist/bridge/index.js +20 -0
- package/dist/bridge/index.js.map +1 -0
- package/dist/cli/commands/config.d.ts +8 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +77 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +2 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +177 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/indexCmd.d.ts +8 -0
- package/dist/cli/commands/indexCmd.d.ts.map +1 -0
- package/dist/cli/commands/indexCmd.js +78 -0
- package/dist/cli/commands/indexCmd.js.map +1 -0
- package/dist/cli/commands/instance.d.ts +4 -0
- package/dist/cli/commands/instance.d.ts.map +1 -0
- package/dist/cli/commands/instance.js +183 -0
- package/dist/cli/commands/instance.js.map +1 -0
- package/dist/cli/commands/setup.d.ts +4 -0
- package/dist/cli/commands/setup.d.ts.map +1 -0
- package/dist/cli/commands/setup.js +246 -0
- package/dist/cli/commands/setup.js.map +1 -0
- package/dist/cli/commands/start.d.ts +2 -0
- package/dist/cli/commands/start.d.ts.map +1 -0
- package/dist/cli/commands/start.js +49 -0
- package/dist/cli/commands/start.js.map +1 -0
- package/dist/cli/commands/update.d.ts +4 -0
- package/dist/cli/commands/update.d.ts.map +1 -0
- package/dist/cli/commands/update.js +55 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/context.d.ts +26 -0
- package/dist/cli/context.d.ts.map +1 -0
- package/dist/cli/context.js +38 -0
- package/dist/cli/context.js.map +1 -0
- package/dist/cli/envFile.d.ts +23 -0
- package/dist/cli/envFile.d.ts.map +1 -0
- package/dist/cli/envFile.js +79 -0
- package/dist/cli/envFile.js.map +1 -0
- package/dist/cli/exec.d.ts +13 -0
- package/dist/cli/exec.d.ts.map +1 -0
- package/dist/cli/exec.js +47 -0
- package/dist/cli/exec.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +122 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/instances.d.ts +19 -0
- package/dist/cli/instances.d.ts.map +1 -0
- package/dist/cli/instances.js +60 -0
- package/dist/cli/instances.js.map +1 -0
- package/dist/cli/mcpJson.d.ts +15 -0
- package/dist/cli/mcpJson.d.ts.map +1 -0
- package/dist/cli/mcpJson.js +44 -0
- package/dist/cli/mcpJson.js.map +1 -0
- package/dist/cli/settingsPrompt.d.ts +20 -0
- package/dist/cli/settingsPrompt.d.ts.map +1 -0
- package/dist/cli/settingsPrompt.js +150 -0
- package/dist/cli/settingsPrompt.js.map +1 -0
- package/dist/cli/settingsStore.d.ts +47 -0
- package/dist/cli/settingsStore.d.ts.map +1 -0
- package/dist/cli/settingsStore.js +144 -0
- package/dist/cli/settingsStore.js.map +1 -0
- package/dist/cli/target.d.ts +23 -0
- package/dist/cli/target.d.ts.map +1 -0
- package/dist/cli/target.js +62 -0
- package/dist/cli/target.js.map +1 -0
- package/dist/cli/ui.d.ts +26 -0
- package/dist/cli/ui.d.ts.map +1 -0
- package/dist/cli/ui.js +48 -0
- package/dist/cli/ui.js.map +1 -0
- package/dist/cli/xppConfig.d.ts +35 -0
- package/dist/cli/xppConfig.d.ts.map +1 -0
- package/dist/cli/xppConfig.js +97 -0
- package/dist/cli/xppConfig.js.map +1 -0
- package/dist/config/configFile.d.ts +50 -0
- package/dist/config/configFile.d.ts.map +1 -0
- package/dist/config/configFile.js +152 -0
- package/dist/config/configFile.js.map +1 -0
- package/dist/config/settings.d.ts +58 -0
- package/dist/config/settings.d.ts.map +1 -0
- package/dist/config/settings.js +641 -0
- package/dist/config/settings.js.map +1 -0
- package/dist/database/download.d.ts +27 -0
- package/dist/database/download.d.ts.map +1 -0
- package/dist/database/download.js +241 -0
- package/dist/database/download.js.map +1 -0
- package/dist/eval/audit/knowledgeAudit.d.ts +66 -0
- package/dist/eval/audit/knowledgeAudit.d.ts.map +1 -0
- package/dist/eval/audit/knowledgeAudit.js +117 -0
- package/dist/eval/audit/knowledgeAudit.js.map +1 -0
- package/dist/eval/audit/knowledgeAuditCli.d.ts +17 -0
- package/dist/eval/audit/knowledgeAuditCli.d.ts.map +1 -0
- package/dist/eval/audit/knowledgeAuditCli.js +83 -0
- package/dist/eval/audit/knowledgeAuditCli.js.map +1 -0
- package/dist/eval/audit/knowledgeRefs.d.ts +37 -0
- package/dist/eval/audit/knowledgeRefs.d.ts.map +1 -0
- package/dist/eval/audit/knowledgeRefs.js +150 -0
- package/dist/eval/audit/knowledgeRefs.js.map +1 -0
- package/dist/eval/audit/symbolLookup.d.ts +23 -0
- package/dist/eval/audit/symbolLookup.d.ts.map +1 -0
- package/dist/eval/audit/symbolLookup.js +80 -0
- package/dist/eval/audit/symbolLookup.js.map +1 -0
- package/dist/eval/coverage/coverage.d.ts +65 -0
- package/dist/eval/coverage/coverage.d.ts.map +1 -0
- package/dist/eval/coverage/coverage.js +136 -0
- package/dist/eval/coverage/coverage.js.map +1 -0
- package/dist/eval/coverage/coverageCli.d.ts +13 -0
- package/dist/eval/coverage/coverageCli.d.ts.map +1 -0
- package/dist/eval/coverage/coverageCli.js +106 -0
- package/dist/eval/coverage/coverageCli.js.map +1 -0
- package/dist/eval/coverage/sources.d.ts +17 -0
- package/dist/eval/coverage/sources.d.ts.map +1 -0
- package/dist/eval/coverage/sources.js +40 -0
- package/dist/eval/coverage/sources.js.map +1 -0
- package/dist/eval/coverage/taxonomy.d.ts +59 -0
- package/dist/eval/coverage/taxonomy.d.ts.map +1 -0
- package/dist/eval/coverage/taxonomy.js +400 -0
- package/dist/eval/coverage/taxonomy.js.map +1 -0
- package/dist/eval/improver/caseMining.d.ts +55 -0
- package/dist/eval/improver/caseMining.d.ts.map +1 -0
- package/dist/eval/improver/caseMining.js +64 -0
- package/dist/eval/improver/caseMining.js.map +1 -0
- package/dist/eval/improver/caseMiningCli.d.ts +10 -0
- package/dist/eval/improver/caseMiningCli.d.ts.map +1 -0
- package/dist/eval/improver/caseMiningCli.js +50 -0
- package/dist/eval/improver/caseMiningCli.js.map +1 -0
- package/dist/eval/improver/cli.d.ts +11 -0
- package/dist/eval/improver/cli.d.ts.map +1 -0
- package/dist/eval/improver/cli.js +73 -0
- package/dist/eval/improver/cli.js.map +1 -0
- package/dist/eval/improver/cluster.d.ts +47 -0
- package/dist/eval/improver/cluster.d.ts.map +1 -0
- package/dist/eval/improver/cluster.js +0 -0
- package/dist/eval/improver/cluster.js.map +1 -0
- package/dist/eval/improver/corpusIO.d.ts +26 -0
- package/dist/eval/improver/corpusIO.d.ts.map +1 -0
- package/dist/eval/improver/corpusIO.js +50 -0
- package/dist/eval/improver/corpusIO.js.map +1 -0
- package/dist/eval/improver/fixBrief.d.ts +34 -0
- package/dist/eval/improver/fixBrief.d.ts.map +1 -0
- package/dist/eval/improver/fixBrief.js +69 -0
- package/dist/eval/improver/fixBrief.js.map +1 -0
- package/dist/eval/improver/fixBriefCli.d.ts +11 -0
- package/dist/eval/improver/fixBriefCli.d.ts.map +1 -0
- package/dist/eval/improver/fixBriefCli.js +46 -0
- package/dist/eval/improver/fixBriefCli.js.map +1 -0
- package/dist/eval/improver/flakeDetection.d.ts +50 -0
- package/dist/eval/improver/flakeDetection.d.ts.map +1 -0
- package/dist/eval/improver/flakeDetection.js +0 -0
- package/dist/eval/improver/flakeDetection.js.map +1 -0
- package/dist/eval/improver/flakeDetectionCli.d.ts +8 -0
- package/dist/eval/improver/flakeDetectionCli.d.ts.map +1 -0
- package/dist/eval/improver/flakeDetectionCli.js +27 -0
- package/dist/eval/improver/flakeDetectionCli.js.map +1 -0
- package/dist/eval/improver/heldout.d.ts +44 -0
- package/dist/eval/improver/heldout.d.ts.map +1 -0
- package/dist/eval/improver/heldout.js +52 -0
- package/dist/eval/improver/heldout.js.map +1 -0
- package/dist/eval/improver/knowledgeFeedback.d.ts +56 -0
- package/dist/eval/improver/knowledgeFeedback.d.ts.map +1 -0
- package/dist/eval/improver/knowledgeFeedback.js +88 -0
- package/dist/eval/improver/knowledgeFeedback.js.map +1 -0
- package/dist/eval/improver/knowledgeFeedbackCli.d.ts +8 -0
- package/dist/eval/improver/knowledgeFeedbackCli.d.ts.map +1 -0
- package/dist/eval/improver/knowledgeFeedbackCli.js +28 -0
- package/dist/eval/improver/knowledgeFeedbackCli.js.map +1 -0
- package/dist/eval/improver/report.d.ts +36 -0
- package/dist/eval/improver/report.d.ts.map +1 -0
- package/dist/eval/improver/report.js +61 -0
- package/dist/eval/improver/report.js.map +1 -0
- package/dist/eval/improver/reportCli.d.ts +7 -0
- package/dist/eval/improver/reportCli.d.ts.map +1 -0
- package/dist/eval/improver/reportCli.js +27 -0
- package/dist/eval/improver/reportCli.js.map +1 -0
- package/dist/eval/oracle/actualArtifactResolution.d.ts +49 -0
- package/dist/eval/oracle/actualArtifactResolution.d.ts.map +1 -0
- package/dist/eval/oracle/actualArtifactResolution.js +73 -0
- package/dist/eval/oracle/actualArtifactResolution.js.map +1 -0
- package/dist/eval/oracle/cli.d.ts +30 -0
- package/dist/eval/oracle/cli.d.ts.map +1 -0
- package/dist/eval/oracle/cli.js +179 -0
- package/dist/eval/oracle/cli.js.map +1 -0
- package/dist/eval/oracle/diff.d.ts +26 -0
- package/dist/eval/oracle/diff.d.ts.map +1 -0
- package/dist/eval/oracle/diff.js +51 -0
- package/dist/eval/oracle/diff.js.map +1 -0
- package/dist/eval/oracle/index.d.ts +81 -0
- package/dist/eval/oracle/index.d.ts.map +1 -0
- package/dist/eval/oracle/index.js +55 -0
- package/dist/eval/oracle/index.js.map +1 -0
- package/dist/eval/oracle/normalize.d.ts +85 -0
- package/dist/eval/oracle/normalize.d.ts.map +1 -0
- package/dist/eval/oracle/normalize.js +321 -0
- package/dist/eval/oracle/normalize.js.map +1 -0
- package/dist/eval/oracle/score.d.ts +26 -0
- package/dist/eval/oracle/score.d.ts.map +1 -0
- package/dist/eval/oracle/score.js +15 -0
- package/dist/eval/oracle/score.js.map +1 -0
- package/dist/eval/oracle/systest.d.ts +30 -0
- package/dist/eval/oracle/systest.d.ts.map +1 -0
- package/dist/eval/oracle/systest.js +98 -0
- package/dist/eval/oracle/systest.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +753 -0
- package/dist/index.js.map +1 -0
- package/dist/knowledge/formPatterns/catalog/subPatterns/customFilters.d.ts +10 -0
- package/dist/knowledge/formPatterns/catalog/subPatterns/customFilters.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/catalog/subPatterns/customFilters.js +38 -0
- package/dist/knowledge/formPatterns/catalog/subPatterns/customFilters.js.map +1 -0
- package/dist/knowledge/formPatterns/catalog/subPatterns/fields.d.ts +21 -0
- package/dist/knowledge/formPatterns/catalog/subPatterns/fields.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/catalog/subPatterns/fields.js +168 -0
- package/dist/knowledge/formPatterns/catalog/subPatterns/fields.js.map +1 -0
- package/dist/knowledge/formPatterns/catalog/subPatterns/panels.d.ts +9 -0
- package/dist/knowledge/formPatterns/catalog/subPatterns/panels.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/catalog/subPatterns/panels.js +47 -0
- package/dist/knowledge/formPatterns/catalog/subPatterns/panels.js.map +1 -0
- package/dist/knowledge/formPatterns/catalog/subPatterns/toolbar.d.ts +16 -0
- package/dist/knowledge/formPatterns/catalog/subPatterns/toolbar.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/catalog/subPatterns/toolbar.js +124 -0
- package/dist/knowledge/formPatterns/catalog/subPatterns/toolbar.js.map +1 -0
- package/dist/knowledge/formPatterns/catalog/subPatterns/workspaceSections.d.ts +12 -0
- package/dist/knowledge/formPatterns/catalog/subPatterns/workspaceSections.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/catalog/subPatterns/workspaceSections.js +36 -0
- package/dist/knowledge/formPatterns/catalog/subPatterns/workspaceSections.js.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/common.d.ts +11 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/common.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/common.js +37 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/common.js.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/detailsMaster.d.ts +8 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/detailsMaster.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/detailsMaster.js +86 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/detailsMaster.js.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/detailsTransaction.d.ts +7 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/detailsTransaction.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/detailsTransaction.js +69 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/detailsTransaction.js.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/dialog.d.ts +14 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/dialog.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/dialog.js +187 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/dialog.js.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/factBox.d.ts +10 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/factBox.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/factBox.js +54 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/factBox.js.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/listPage.d.ts +7 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/listPage.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/listPage.js +33 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/listPage.js.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/lookup.d.ts +10 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/lookup.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/lookup.js +95 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/lookup.js.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/simpleDetails.d.ts +16 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/simpleDetails.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/simpleDetails.js +158 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/simpleDetails.js.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/simpleList.d.ts +7 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/simpleList.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/simpleList.js +34 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/simpleList.js.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/simpleListDetails.d.ts +9 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/simpleListDetails.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/simpleListDetails.js +99 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/simpleListDetails.js.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/tableOfContents.d.ts +8 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/tableOfContents.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/tableOfContents.js +95 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/tableOfContents.js.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/task.d.ts +9 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/task.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/task.js +42 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/task.js.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/wizard.d.ts +7 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/wizard.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/wizard.js +42 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/wizard.js.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/workspace.d.ts +17 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/workspace.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/workspace.js +157 -0
- package/dist/knowledge/formPatterns/catalog/topLevel/workspace.js.map +1 -0
- package/dist/knowledge/formPatterns/crossCheck.d.ts +44 -0
- package/dist/knowledge/formPatterns/crossCheck.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/crossCheck.js +109 -0
- package/dist/knowledge/formPatterns/crossCheck.js.map +1 -0
- package/dist/knowledge/formPatterns/index.d.ts +30 -0
- package/dist/knowledge/formPatterns/index.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/index.js +158 -0
- package/dist/knowledge/formPatterns/index.js.map +1 -0
- package/dist/knowledge/formPatterns/methodStubs.d.ts +45 -0
- package/dist/knowledge/formPatterns/methodStubs.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/methodStubs.js +257 -0
- package/dist/knowledge/formPatterns/methodStubs.js.map +1 -0
- package/dist/knowledge/formPatterns/types.d.ts +115 -0
- package/dist/knowledge/formPatterns/types.d.ts.map +1 -0
- package/dist/knowledge/formPatterns/types.js +44 -0
- package/dist/knowledge/formPatterns/types.js.map +1 -0
- package/dist/metadata/enhancedParser.d.ts +91 -0
- package/dist/metadata/enhancedParser.d.ts.map +1 -0
- package/dist/metadata/enhancedParser.js +379 -0
- package/dist/metadata/enhancedParser.js.map +1 -0
- package/dist/metadata/formPatternMiner.d.ts +78 -0
- package/dist/metadata/formPatternMiner.d.ts.map +1 -0
- package/dist/metadata/formPatternMiner.js +220 -0
- package/dist/metadata/formPatternMiner.js.map +1 -0
- package/dist/metadata/labelParser.d.ts +71 -0
- package/dist/metadata/labelParser.d.ts.map +1 -0
- package/dist/metadata/labelParser.js +258 -0
- package/dist/metadata/labelParser.js.map +1 -0
- package/dist/metadata/symbolCountsWorker.d.ts +16 -0
- package/dist/metadata/symbolCountsWorker.d.ts.map +1 -0
- package/dist/metadata/symbolCountsWorker.js +42 -0
- package/dist/metadata/symbolCountsWorker.js.map +1 -0
- package/dist/metadata/symbolIndex.d.ts +474 -0
- package/dist/metadata/symbolIndex.d.ts.map +1 -0
- package/dist/metadata/symbolIndex.js +3152 -0
- package/dist/metadata/symbolIndex.js.map +1 -0
- package/dist/metadata/types.d.ts +267 -0
- package/dist/metadata/types.d.ts.map +1 -0
- package/dist/metadata/types.js +5 -0
- package/dist/metadata/types.js.map +1 -0
- package/dist/metadata/xmlParser.d.ts +232 -0
- package/dist/metadata/xmlParser.d.ts.map +1 -0
- package/dist/metadata/xmlParser.js +1021 -0
- package/dist/metadata/xmlParser.js.map +1 -0
- package/dist/metadata/xppDeclaration.d.ts +116 -0
- package/dist/metadata/xppDeclaration.d.ts.map +1 -0
- package/dist/metadata/xppDeclaration.js +350 -0
- package/dist/metadata/xppDeclaration.js.map +1 -0
- package/dist/middleware/apiKeyAuth.d.ts +7 -0
- package/dist/middleware/apiKeyAuth.d.ts.map +1 -0
- package/dist/middleware/apiKeyAuth.js +70 -0
- package/dist/middleware/apiKeyAuth.js.map +1 -0
- package/dist/middleware/rateLimiter.d.ts +7 -0
- package/dist/middleware/rateLimiter.d.ts.map +1 -0
- package/dist/middleware/rateLimiter.js +78 -0
- package/dist/middleware/rateLimiter.js.map +1 -0
- package/dist/prompts/codeReview.d.ts +8 -0
- package/dist/prompts/codeReview.d.ts.map +1 -0
- package/dist/prompts/codeReview.js +619 -0
- package/dist/prompts/codeReview.js.map +1 -0
- package/dist/prompts/index.d.ts +6 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +6 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/systemInstructions.d.ts +33 -0
- package/dist/prompts/systemInstructions.d.ts.map +1 -0
- package/dist/prompts/systemInstructions.js +154 -0
- package/dist/prompts/systemInstructions.js.map +1 -0
- package/dist/resources/classResource.d.ts +17 -0
- package/dist/resources/classResource.d.ts.map +1 -0
- package/dist/resources/classResource.js +33 -0
- package/dist/resources/classResource.js.map +1 -0
- package/dist/resources/index.d.ts +20 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +154 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/server/mcpServer.d.ts +11 -0
- package/dist/server/mcpServer.d.ts.map +1 -0
- package/dist/server/mcpServer.js +185 -0
- package/dist/server/mcpServer.js.map +1 -0
- package/dist/server/serverMode.d.ts +53 -0
- package/dist/server/serverMode.d.ts.map +1 -0
- package/dist/server/serverMode.js +72 -0
- package/dist/server/serverMode.js.map +1 -0
- package/dist/server/toolAnnotations.d.ts +28 -0
- package/dist/server/toolAnnotations.d.ts.map +1 -0
- package/dist/server/toolAnnotations.js +70 -0
- package/dist/server/toolAnnotations.js.map +1 -0
- package/dist/server/toolSchemas/analyzeCode.d.ts +71 -0
- package/dist/server/toolSchemas/analyzeCode.d.ts.map +1 -0
- package/dist/server/toolSchemas/analyzeCode.js +50 -0
- package/dist/server/toolSchemas/analyzeCode.js.map +1 -0
- package/dist/server/toolSchemas/batchGetInfo.d.ts +32 -0
- package/dist/server/toolSchemas/batchGetInfo.d.ts.map +1 -0
- package/dist/server/toolSchemas/batchGetInfo.js +35 -0
- package/dist/server/toolSchemas/batchGetInfo.js.map +1 -0
- package/dist/server/toolSchemas/buildD365foProject.d.ts +44 -0
- package/dist/server/toolSchemas/buildD365foProject.d.ts.map +1 -0
- package/dist/server/toolSchemas/buildD365foProject.js +47 -0
- package/dist/server/toolSchemas/buildD365foProject.js.map +1 -0
- package/dist/server/toolSchemas/d365foFile.d.ts +99 -0
- package/dist/server/toolSchemas/d365foFile.d.ts.map +1 -0
- package/dist/server/toolSchemas/d365foFile.js +163 -0
- package/dist/server/toolSchemas/d365foFile.js.map +1 -0
- package/dist/server/toolSchemas/extensionInfo.d.ts +65 -0
- package/dist/server/toolSchemas/extensionInfo.d.ts.map +1 -0
- package/dist/server/toolSchemas/extensionInfo.js +73 -0
- package/dist/server/toolSchemas/extensionInfo.js.map +1 -0
- package/dist/server/toolSchemas/findReferences.d.ts +35 -0
- package/dist/server/toolSchemas/findReferences.d.ts.map +1 -0
- package/dist/server/toolSchemas/findReferences.js +35 -0
- package/dist/server/toolSchemas/findReferences.js.map +1 -0
- package/dist/server/toolSchemas/generateObject.d.ts +246 -0
- package/dist/server/toolSchemas/generateObject.d.ts.map +1 -0
- package/dist/server/toolSchemas/generateObject.js +158 -0
- package/dist/server/toolSchemas/generateObject.js.map +1 -0
- package/dist/server/toolSchemas/getKnowledge.d.ts +39 -0
- package/dist/server/toolSchemas/getKnowledge.d.ts.map +1 -0
- package/dist/server/toolSchemas/getKnowledge.js +46 -0
- package/dist/server/toolSchemas/getKnowledge.js.map +1 -0
- package/dist/server/toolSchemas/getMethod.d.ts +30 -0
- package/dist/server/toolSchemas/getMethod.d.ts.map +1 -0
- package/dist/server/toolSchemas/getMethod.js +34 -0
- package/dist/server/toolSchemas/getMethod.js.map +1 -0
- package/dist/server/toolSchemas/getObjectInfo.d.ts +24 -0
- package/dist/server/toolSchemas/getObjectInfo.d.ts.map +1 -0
- package/dist/server/toolSchemas/getObjectInfo.js +30 -0
- package/dist/server/toolSchemas/getObjectInfo.js.map +1 -0
- package/dist/server/toolSchemas/getWorkspaceInfo.d.ts +29 -0
- package/dist/server/toolSchemas/getWorkspaceInfo.d.ts.map +1 -0
- package/dist/server/toolSchemas/getWorkspaceInfo.js +29 -0
- package/dist/server/toolSchemas/getWorkspaceInfo.js.map +1 -0
- package/dist/server/toolSchemas/index.d.ts +1142 -0
- package/dist/server/toolSchemas/index.d.ts.map +1 -0
- package/dist/server/toolSchemas/index.js +60 -0
- package/dist/server/toolSchemas/index.js.map +1 -0
- package/dist/server/toolSchemas/labels.d.ts +172 -0
- package/dist/server/toolSchemas/labels.d.ts.map +1 -0
- package/dist/server/toolSchemas/labels.js +159 -0
- package/dist/server/toolSchemas/labels.js.map +1 -0
- package/dist/server/toolSchemas/objectPatterns.d.ts +93 -0
- package/dist/server/toolSchemas/objectPatterns.d.ts.map +1 -0
- package/dist/server/toolSchemas/objectPatterns.js +104 -0
- package/dist/server/toolSchemas/objectPatterns.js.map +1 -0
- package/dist/server/toolSchemas/prepare.d.ts +49 -0
- package/dist/server/toolSchemas/prepare.d.ts.map +1 -0
- package/dist/server/toolSchemas/prepare.js +57 -0
- package/dist/server/toolSchemas/prepare.js.map +1 -0
- package/dist/server/toolSchemas/reviewWorkspaceChanges.d.ts +20 -0
- package/dist/server/toolSchemas/reviewWorkspaceChanges.d.ts.map +1 -0
- package/dist/server/toolSchemas/reviewWorkspaceChanges.js +19 -0
- package/dist/server/toolSchemas/reviewWorkspaceChanges.js.map +1 -0
- package/dist/server/toolSchemas/runBpCheck.d.ts +36 -0
- package/dist/server/toolSchemas/runBpCheck.d.ts.map +1 -0
- package/dist/server/toolSchemas/runBpCheck.js +21 -0
- package/dist/server/toolSchemas/runBpCheck.js.map +1 -0
- package/dist/server/toolSchemas/runSystestClass.d.ts +32 -0
- package/dist/server/toolSchemas/runSystestClass.d.ts.map +1 -0
- package/dist/server/toolSchemas/runSystestClass.js +20 -0
- package/dist/server/toolSchemas/runSystestClass.js.map +1 -0
- package/dist/server/toolSchemas/search.d.ts +109 -0
- package/dist/server/toolSchemas/search.d.ts.map +1 -0
- package/dist/server/toolSchemas/search.js +123 -0
- package/dist/server/toolSchemas/search.js.map +1 -0
- package/dist/server/toolSchemas/securityInfo.d.ts +45 -0
- package/dist/server/toolSchemas/securityInfo.d.ts.map +1 -0
- package/dist/server/toolSchemas/securityInfo.js +39 -0
- package/dist/server/toolSchemas/securityInfo.js.map +1 -0
- package/dist/server/toolSchemas/suggestEdt.d.ts +29 -0
- package/dist/server/toolSchemas/suggestEdt.d.ts.map +1 -0
- package/dist/server/toolSchemas/suggestEdt.js +29 -0
- package/dist/server/toolSchemas/suggestEdt.js.map +1 -0
- package/dist/server/toolSchemas/triggerDbSync.d.ts +47 -0
- package/dist/server/toolSchemas/triggerDbSync.d.ts.map +1 -0
- package/dist/server/toolSchemas/triggerDbSync.js +31 -0
- package/dist/server/toolSchemas/triggerDbSync.js.map +1 -0
- package/dist/server/toolSchemas/undoLastModification.d.ts +20 -0
- package/dist/server/toolSchemas/undoLastModification.d.ts.map +1 -0
- package/dist/server/toolSchemas/undoLastModification.js +17 -0
- package/dist/server/toolSchemas/undoLastModification.js.map +1 -0
- package/dist/server/toolSchemas/updateSymbolIndex.d.ts +19 -0
- package/dist/server/toolSchemas/updateSymbolIndex.d.ts.map +1 -0
- package/dist/server/toolSchemas/updateSymbolIndex.js +18 -0
- package/dist/server/toolSchemas/updateSymbolIndex.js.map +1 -0
- package/dist/server/toolSchemas/validateCode.d.ts +35 -0
- package/dist/server/toolSchemas/validateCode.d.ts.map +1 -0
- package/dist/server/toolSchemas/validateCode.js +38 -0
- package/dist/server/toolSchemas/validateCode.js.map +1 -0
- package/dist/server/toolSchemas/validateObjectNaming.d.ts +33 -0
- package/dist/server/toolSchemas/validateObjectNaming.d.ts.map +1 -0
- package/dist/server/toolSchemas/validateObjectNaming.js +32 -0
- package/dist/server/toolSchemas/validateObjectNaming.js.map +1 -0
- package/dist/server/toolSchemas/verifyD365foProject.d.ts +50 -0
- package/dist/server/toolSchemas/verifyD365foProject.d.ts.map +1 -0
- package/dist/server/toolSchemas/verifyD365foProject.js +46 -0
- package/dist/server/toolSchemas/verifyD365foProject.js.map +1 -0
- package/dist/server/transport.d.ts +30 -0
- package/dist/server/transport.d.ts.map +1 -0
- package/dist/server/transport.js +391 -0
- package/dist/server/transport.js.map +1 -0
- package/dist/tools/analyzeCode.d.ts +17 -0
- package/dist/tools/analyzeCode.d.ts.map +1 -0
- package/dist/tools/analyzeCode.js +63 -0
- package/dist/tools/analyzeCode.js.map +1 -0
- package/dist/tools/analyzeCompleteness.d.ts +20 -0
- package/dist/tools/analyzeCompleteness.d.ts.map +1 -0
- package/dist/tools/analyzeCompleteness.js +103 -0
- package/dist/tools/analyzeCompleteness.js.map +1 -0
- package/dist/tools/analyzeExtensionPoints.d.ts +21 -0
- package/dist/tools/analyzeExtensionPoints.d.ts.map +1 -0
- package/dist/tools/analyzeExtensionPoints.js +343 -0
- package/dist/tools/analyzeExtensionPoints.js.map +1 -0
- package/dist/tools/analyzePatterns.d.ts +20 -0
- package/dist/tools/analyzePatterns.d.ts.map +1 -0
- package/dist/tools/analyzePatterns.js +71 -0
- package/dist/tools/analyzePatterns.js.map +1 -0
- package/dist/tools/apiUsagePatterns.d.ts +20 -0
- package/dist/tools/apiUsagePatterns.d.ts.map +1 -0
- package/dist/tools/apiUsagePatterns.js +136 -0
- package/dist/tools/apiUsagePatterns.js.map +1 -0
- package/dist/tools/batchGetInfo.d.ts +50 -0
- package/dist/tools/batchGetInfo.d.ts.map +1 -0
- package/dist/tools/batchGetInfo.js +52 -0
- package/dist/tools/batchGetInfo.js.map +1 -0
- package/dist/tools/batchSearch.d.ts +64 -0
- package/dist/tools/batchSearch.d.ts.map +1 -0
- package/dist/tools/batchSearch.js +265 -0
- package/dist/tools/batchSearch.js.map +1 -0
- package/dist/tools/buildProject.d.ts +28 -0
- package/dist/tools/buildProject.d.ts.map +1 -0
- package/dist/tools/buildProject.js +929 -0
- package/dist/tools/buildProject.js.map +1 -0
- package/dist/tools/classInfo.d.ts +8 -0
- package/dist/tools/classInfo.d.ts.map +1 -0
- package/dist/tools/classInfo.js +235 -0
- package/dist/tools/classInfo.js.map +1 -0
- package/dist/tools/codeGen.d.ts +19 -0
- package/dist/tools/codeGen.d.ts.map +1 -0
- package/dist/tools/codeGen.js +1956 -0
- package/dist/tools/codeGen.js.map +1 -0
- package/dist/tools/completion.d.ts +8 -0
- package/dist/tools/completion.d.ts.map +1 -0
- package/dist/tools/completion.js +272 -0
- package/dist/tools/completion.js.map +1 -0
- package/dist/tools/configKeyInfo.d.ts +22 -0
- package/dist/tools/configKeyInfo.d.ts.map +1 -0
- package/dist/tools/configKeyInfo.js +74 -0
- package/dist/tools/configKeyInfo.js.map +1 -0
- package/dist/tools/createD365File.d.ts +479 -0
- package/dist/tools/createD365File.d.ts.map +1 -0
- package/dist/tools/createD365File.js +4185 -0
- package/dist/tools/createD365File.js.map +1 -0
- package/dist/tools/createLabel.d.ts +51 -0
- package/dist/tools/createLabel.d.ts.map +1 -0
- package/dist/tools/createLabel.js +761 -0
- package/dist/tools/createLabel.js.map +1 -0
- package/dist/tools/d365foErrorHelp.d.ts +29 -0
- package/dist/tools/d365foErrorHelp.d.ts.map +1 -0
- package/dist/tools/d365foErrorHelp.js +389 -0
- package/dist/tools/d365foErrorHelp.js.map +1 -0
- package/dist/tools/d365foFile.d.ts +20 -0
- package/dist/tools/d365foFile.d.ts.map +1 -0
- package/dist/tools/d365foFile.js +58 -0
- package/dist/tools/d365foFile.js.map +1 -0
- package/dist/tools/d365foFileOpSpecs.d.ts +41 -0
- package/dist/tools/d365foFileOpSpecs.d.ts.map +1 -0
- package/dist/tools/d365foFileOpSpecs.js +336 -0
- package/dist/tools/d365foFileOpSpecs.js.map +1 -0
- package/dist/tools/dataEntityInfo.d.ts +23 -0
- package/dist/tools/dataEntityInfo.d.ts.map +1 -0
- package/dist/tools/dataEntityInfo.js +45 -0
- package/dist/tools/dataEntityInfo.js.map +1 -0
- package/dist/tools/dataEntityXml.d.ts +31 -0
- package/dist/tools/dataEntityXml.d.ts.map +1 -0
- package/dist/tools/dataEntityXml.js +131 -0
- package/dist/tools/dataEntityXml.js.map +1 -0
- package/dist/tools/dbSync.d.ts +8 -0
- package/dist/tools/dbSync.d.ts.map +1 -0
- package/dist/tools/dbSync.js +285 -0
- package/dist/tools/dbSync.js.map +1 -0
- package/dist/tools/edtInfo.d.ts +23 -0
- package/dist/tools/edtInfo.d.ts.map +1 -0
- package/dist/tools/edtInfo.js +122 -0
- package/dist/tools/edtInfo.js.map +1 -0
- package/dist/tools/enumInfo.d.ts +17 -0
- package/dist/tools/enumInfo.d.ts.map +1 -0
- package/dist/tools/enumInfo.js +44 -0
- package/dist/tools/enumInfo.js.map +1 -0
- package/dist/tools/extensionInfo.d.ts +26 -0
- package/dist/tools/extensionInfo.d.ts.map +1 -0
- package/dist/tools/extensionInfo.js +73 -0
- package/dist/tools/extensionInfo.js.map +1 -0
- package/dist/tools/extensionSearch.d.ts +20 -0
- package/dist/tools/extensionSearch.d.ts.map +1 -0
- package/dist/tools/extensionSearch.js +72 -0
- package/dist/tools/extensionSearch.js.map +1 -0
- package/dist/tools/extensionStrategyAdvisor.d.ts +15 -0
- package/dist/tools/extensionStrategyAdvisor.d.ts.map +1 -0
- package/dist/tools/extensionStrategyAdvisor.js +519 -0
- package/dist/tools/extensionStrategyAdvisor.js.map +1 -0
- package/dist/tools/findCocExtensions.d.ts +20 -0
- package/dist/tools/findCocExtensions.d.ts.map +1 -0
- package/dist/tools/findCocExtensions.js +285 -0
- package/dist/tools/findCocExtensions.js.map +1 -0
- package/dist/tools/findEventHandlers.d.ts +21 -0
- package/dist/tools/findEventHandlers.d.ts.map +1 -0
- package/dist/tools/findEventHandlers.js +196 -0
- package/dist/tools/findEventHandlers.js.map +1 -0
- package/dist/tools/findReferences.d.ts +30 -0
- package/dist/tools/findReferences.d.ts.map +1 -0
- package/dist/tools/findReferences.js +551 -0
- package/dist/tools/findReferences.js.map +1 -0
- package/dist/tools/formInfo.d.ts +13 -0
- package/dist/tools/formInfo.d.ts.map +1 -0
- package/dist/tools/formInfo.js +407 -0
- package/dist/tools/formInfo.js.map +1 -0
- package/dist/tools/formPattern.d.ts +19 -0
- package/dist/tools/formPattern.d.ts.map +1 -0
- package/dist/tools/formPattern.js +52 -0
- package/dist/tools/formPattern.js.map +1 -0
- package/dist/tools/generateD365Xml.d.ts +12 -0
- package/dist/tools/generateD365Xml.d.ts.map +1 -0
- package/dist/tools/generateD365Xml.js +1454 -0
- package/dist/tools/generateD365Xml.js.map +1 -0
- package/dist/tools/generateFindMethods.d.ts +69 -0
- package/dist/tools/generateFindMethods.d.ts.map +1 -0
- package/dist/tools/generateFindMethods.js +207 -0
- package/dist/tools/generateFindMethods.js.map +1 -0
- package/dist/tools/generateMetadata.d.ts +37 -0
- package/dist/tools/generateMetadata.d.ts.map +1 -0
- package/dist/tools/generateMetadata.js +213 -0
- package/dist/tools/generateMetadata.js.map +1 -0
- package/dist/tools/generateObject.d.ts +34 -0
- package/dist/tools/generateObject.d.ts.map +1 -0
- package/dist/tools/generateObject.js +47 -0
- package/dist/tools/generateObject.js.map +1 -0
- package/dist/tools/generateRelationXpp.d.ts +45 -0
- package/dist/tools/generateRelationXpp.d.ts.map +1 -0
- package/dist/tools/generateRelationXpp.js +129 -0
- package/dist/tools/generateRelationXpp.js.map +1 -0
- package/dist/tools/generateSmart.d.ts +32 -0
- package/dist/tools/generateSmart.d.ts.map +1 -0
- package/dist/tools/generateSmart.js +52 -0
- package/dist/tools/generateSmart.js.map +1 -0
- package/dist/tools/generateSmartForm.d.ts +82 -0
- package/dist/tools/generateSmartForm.d.ts.map +1 -0
- package/dist/tools/generateSmartForm.js +996 -0
- package/dist/tools/generateSmartForm.js.map +1 -0
- package/dist/tools/generateSmartReport.d.ts +90 -0
- package/dist/tools/generateSmartReport.d.ts.map +1 -0
- package/dist/tools/generateSmartReport.js +1254 -0
- package/dist/tools/generateSmartReport.js.map +1 -0
- package/dist/tools/generateSmartTable.d.ts +138 -0
- package/dist/tools/generateSmartTable.d.ts.map +1 -0
- package/dist/tools/generateSmartTable.js +1305 -0
- package/dist/tools/generateSmartTable.js.map +1 -0
- package/dist/tools/generateTableFields.d.ts +48 -0
- package/dist/tools/generateTableFields.d.ts.map +1 -0
- package/dist/tools/generateTableFields.js +186 -0
- package/dist/tools/generateTableFields.js.map +1 -0
- package/dist/tools/generateTableRelation.d.ts +35 -0
- package/dist/tools/generateTableRelation.d.ts.map +1 -0
- package/dist/tools/generateTableRelation.js +161 -0
- package/dist/tools/generateTableRelation.js.map +1 -0
- package/dist/tools/getFormPatternSpec.d.ts +13 -0
- package/dist/tools/getFormPatternSpec.d.ts.map +1 -0
- package/dist/tools/getFormPatternSpec.js +290 -0
- package/dist/tools/getFormPatternSpec.js.map +1 -0
- package/dist/tools/getFormPatterns.d.ts +68 -0
- package/dist/tools/getFormPatterns.d.ts.map +1 -0
- package/dist/tools/getFormPatterns.js +471 -0
- package/dist/tools/getFormPatterns.js.map +1 -0
- package/dist/tools/getKnowledge.d.ts +27 -0
- package/dist/tools/getKnowledge.d.ts.map +1 -0
- package/dist/tools/getKnowledge.js +50 -0
- package/dist/tools/getKnowledge.js.map +1 -0
- package/dist/tools/getLabelInfo.d.ts +21 -0
- package/dist/tools/getLabelInfo.d.ts.map +1 -0
- package/dist/tools/getLabelInfo.js +138 -0
- package/dist/tools/getLabelInfo.js.map +1 -0
- package/dist/tools/getMethod.d.ts +19 -0
- package/dist/tools/getMethod.d.ts.map +1 -0
- package/dist/tools/getMethod.js +77 -0
- package/dist/tools/getMethod.js.map +1 -0
- package/dist/tools/getMethodSource.d.ts +17 -0
- package/dist/tools/getMethodSource.d.ts.map +1 -0
- package/dist/tools/getMethodSource.js +161 -0
- package/dist/tools/getMethodSource.js.map +1 -0
- package/dist/tools/getObjectInfo.d.ts +17 -0
- package/dist/tools/getObjectInfo.d.ts.map +1 -0
- package/dist/tools/getObjectInfo.js +88 -0
- package/dist/tools/getObjectInfo.js.map +1 -0
- package/dist/tools/getTablePatterns.d.ts +45 -0
- package/dist/tools/getTablePatterns.d.ts.map +1 -0
- package/dist/tools/getTablePatterns.js +235 -0
- package/dist/tools/getTablePatterns.js.map +1 -0
- package/dist/tools/index.d.ts +11 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +11 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/labels.d.ts +25 -0
- package/dist/tools/labels.d.ts.map +1 -0
- package/dist/tools/labels.js +111 -0
- package/dist/tools/labels.js.map +1 -0
- package/dist/tools/macroInfo.d.ts +23 -0
- package/dist/tools/macroInfo.d.ts.map +1 -0
- package/dist/tools/macroInfo.js +62 -0
- package/dist/tools/macroInfo.js.map +1 -0
- package/dist/tools/mapInfo.d.ts +21 -0
- package/dist/tools/mapInfo.d.ts.map +1 -0
- package/dist/tools/mapInfo.js +54 -0
- package/dist/tools/mapInfo.js.map +1 -0
- package/dist/tools/mapXml.d.ts +26 -0
- package/dist/tools/mapXml.d.ts.map +1 -0
- package/dist/tools/mapXml.js +88 -0
- package/dist/tools/mapXml.js.map +1 -0
- package/dist/tools/menuItemInfo.d.ts +20 -0
- package/dist/tools/menuItemInfo.d.ts.map +1 -0
- package/dist/tools/menuItemInfo.js +185 -0
- package/dist/tools/menuItemInfo.js.map +1 -0
- package/dist/tools/methodSignature.d.ts +33 -0
- package/dist/tools/methodSignature.d.ts.map +1 -0
- package/dist/tools/methodSignature.js +348 -0
- package/dist/tools/methodSignature.js.map +1 -0
- package/dist/tools/modifyD365File.d.ts +130 -0
- package/dist/tools/modifyD365File.d.ts.map +1 -0
- package/dist/tools/modifyD365File.js +2179 -0
- package/dist/tools/modifyD365File.js.map +1 -0
- package/dist/tools/objectInfoRegistry.d.ts +36 -0
- package/dist/tools/objectInfoRegistry.d.ts.map +1 -0
- package/dist/tools/objectInfoRegistry.js +98 -0
- package/dist/tools/objectInfoRegistry.js.map +1 -0
- package/dist/tools/objectPatterns.d.ts +16 -0
- package/dist/tools/objectPatterns.d.ts.map +1 -0
- package/dist/tools/objectPatterns.js +84 -0
- package/dist/tools/objectPatterns.js.map +1 -0
- package/dist/tools/prepare.d.ts +18 -0
- package/dist/tools/prepare.d.ts.map +1 -0
- package/dist/tools/prepare.js +47 -0
- package/dist/tools/prepare.js.map +1 -0
- package/dist/tools/prepareChange.d.ts +43 -0
- package/dist/tools/prepareChange.d.ts.map +1 -0
- package/dist/tools/prepareChange.js +327 -0
- package/dist/tools/prepareChange.js.map +1 -0
- package/dist/tools/prepareCreate.d.ts +45 -0
- package/dist/tools/prepareCreate.d.ts.map +1 -0
- package/dist/tools/prepareCreate.js +263 -0
- package/dist/tools/prepareCreate.js.map +1 -0
- package/dist/tools/queryInfo.d.ts +17 -0
- package/dist/tools/queryInfo.d.ts.map +1 -0
- package/dist/tools/queryInfo.js +46 -0
- package/dist/tools/queryInfo.js.map +1 -0
- package/dist/tools/queryViewXml.d.ts +36 -0
- package/dist/tools/queryViewXml.d.ts.map +1 -0
- package/dist/tools/queryViewXml.js +129 -0
- package/dist/tools/queryViewXml.js.map +1 -0
- package/dist/tools/renameLabel.d.ts +29 -0
- package/dist/tools/renameLabel.d.ts.map +1 -0
- package/dist/tools/renameLabel.js +377 -0
- package/dist/tools/renameLabel.js.map +1 -0
- package/dist/tools/repairFormControls.d.ts +21 -0
- package/dist/tools/repairFormControls.d.ts.map +1 -0
- package/dist/tools/repairFormControls.js +151 -0
- package/dist/tools/repairFormControls.js.map +1 -0
- package/dist/tools/reportInfo.d.ts +14 -0
- package/dist/tools/reportInfo.d.ts.map +1 -0
- package/dist/tools/reportInfo.js +302 -0
- package/dist/tools/reportInfo.js.map +1 -0
- package/dist/tools/resolveReferences.d.ts +89 -0
- package/dist/tools/resolveReferences.d.ts.map +1 -0
- package/dist/tools/resolveReferences.js +791 -0
- package/dist/tools/resolveReferences.js.map +1 -0
- package/dist/tools/reviewWorkspaceChanges.d.ts +14 -0
- package/dist/tools/reviewWorkspaceChanges.d.ts.map +1 -0
- package/dist/tools/reviewWorkspaceChanges.js +73 -0
- package/dist/tools/reviewWorkspaceChanges.js.map +1 -0
- package/dist/tools/runBpCheck.d.ts +14 -0
- package/dist/tools/runBpCheck.d.ts.map +1 -0
- package/dist/tools/runBpCheck.js +241 -0
- package/dist/tools/runBpCheck.js.map +1 -0
- package/dist/tools/search.d.ts +20 -0
- package/dist/tools/search.d.ts.map +1 -0
- package/dist/tools/search.js +246 -0
- package/dist/tools/search.js.map +1 -0
- package/dist/tools/searchLabels.d.ts +26 -0
- package/dist/tools/searchLabels.d.ts.map +1 -0
- package/dist/tools/searchLabels.js +91 -0
- package/dist/tools/searchLabels.js.map +1 -0
- package/dist/tools/searchUnified.d.ts +28 -0
- package/dist/tools/searchUnified.d.ts.map +1 -0
- package/dist/tools/searchUnified.js +48 -0
- package/dist/tools/searchUnified.js.map +1 -0
- package/dist/tools/securityArtifactInfo.d.ts +14 -0
- package/dist/tools/securityArtifactInfo.d.ts.map +1 -0
- package/dist/tools/securityArtifactInfo.js +192 -0
- package/dist/tools/securityArtifactInfo.js.map +1 -0
- package/dist/tools/securityCoverageInfo.d.ts +21 -0
- package/dist/tools/securityCoverageInfo.d.ts.map +1 -0
- package/dist/tools/securityCoverageInfo.js +248 -0
- package/dist/tools/securityCoverageInfo.js.map +1 -0
- package/dist/tools/securityInfo.d.ts +22 -0
- package/dist/tools/securityInfo.d.ts.map +1 -0
- package/dist/tools/securityInfo.js +43 -0
- package/dist/tools/securityInfo.js.map +1 -0
- package/dist/tools/securityPolicyInfo.d.ts +22 -0
- package/dist/tools/securityPolicyInfo.d.ts.map +1 -0
- package/dist/tools/securityPolicyInfo.js +49 -0
- package/dist/tools/securityPolicyInfo.js.map +1 -0
- package/dist/tools/securityPrivilegeXml.d.ts +21 -0
- package/dist/tools/securityPrivilegeXml.d.ts.map +1 -0
- package/dist/tools/securityPrivilegeXml.js +61 -0
- package/dist/tools/securityPrivilegeXml.js.map +1 -0
- package/dist/tools/serviceInfo.d.ts +25 -0
- package/dist/tools/serviceInfo.d.ts.map +1 -0
- package/dist/tools/serviceInfo.js +93 -0
- package/dist/tools/serviceInfo.js.map +1 -0
- package/dist/tools/suggestEdt.d.ts +15 -0
- package/dist/tools/suggestEdt.d.ts.map +1 -0
- package/dist/tools/suggestEdt.js +348 -0
- package/dist/tools/suggestEdt.js.map +1 -0
- package/dist/tools/suggestImplementation.d.ts +20 -0
- package/dist/tools/suggestImplementation.d.ts.map +1 -0
- package/dist/tools/suggestImplementation.js +144 -0
- package/dist/tools/suggestImplementation.js.map +1 -0
- package/dist/tools/sysTestRunner.d.ts +14 -0
- package/dist/tools/sysTestRunner.d.ts.map +1 -0
- package/dist/tools/sysTestRunner.js +145 -0
- package/dist/tools/sysTestRunner.js.map +1 -0
- package/dist/tools/tableExtensionInfo.d.ts +91 -0
- package/dist/tools/tableExtensionInfo.d.ts.map +1 -0
- package/dist/tools/tableExtensionInfo.js +305 -0
- package/dist/tools/tableExtensionInfo.js.map +1 -0
- package/dist/tools/tableInfo.d.ts +23 -0
- package/dist/tools/tableInfo.d.ts.map +1 -0
- package/dist/tools/tableInfo.js +125 -0
- package/dist/tools/tableInfo.js.map +1 -0
- package/dist/tools/toolHandler.d.ts +4 -0
- package/dist/tools/toolHandler.d.ts.map +1 -0
- package/dist/tools/toolHandler.js +508 -0
- package/dist/tools/toolHandler.js.map +1 -0
- package/dist/tools/undoLastModification.d.ts +15 -0
- package/dist/tools/undoLastModification.d.ts.map +1 -0
- package/dist/tools/undoLastModification.js +147 -0
- package/dist/tools/undoLastModification.js.map +1 -0
- package/dist/tools/updateSymbolIndex.d.ts +15 -0
- package/dist/tools/updateSymbolIndex.d.ts.map +1 -0
- package/dist/tools/updateSymbolIndex.js +520 -0
- package/dist/tools/updateSymbolIndex.js.map +1 -0
- package/dist/tools/validateCode.d.ts +24 -0
- package/dist/tools/validateCode.d.ts.map +1 -0
- package/dist/tools/validateCode.js +201 -0
- package/dist/tools/validateCode.js.map +1 -0
- package/dist/tools/validateFormPattern.d.ts +51 -0
- package/dist/tools/validateFormPattern.d.ts.map +1 -0
- package/dist/tools/validateFormPattern.js +201 -0
- package/dist/tools/validateFormPattern.js.map +1 -0
- package/dist/tools/validateObjectNaming.d.ts +21 -0
- package/dist/tools/validateObjectNaming.d.ts.map +1 -0
- package/dist/tools/validateObjectNaming.js +319 -0
- package/dist/tools/validateObjectNaming.js.map +1 -0
- package/dist/tools/validateXpp.d.ts +79 -0
- package/dist/tools/validateXpp.d.ts.map +1 -0
- package/dist/tools/validateXpp.js +705 -0
- package/dist/tools/validateXpp.js.map +1 -0
- package/dist/tools/verifyD365Project.d.ts +21 -0
- package/dist/tools/verifyD365Project.d.ts.map +1 -0
- package/dist/tools/verifyD365Project.js +299 -0
- package/dist/tools/verifyD365Project.js.map +1 -0
- package/dist/tools/viewInfo.d.ts +17 -0
- package/dist/tools/viewInfo.d.ts.map +1 -0
- package/dist/tools/viewInfo.js +46 -0
- package/dist/tools/viewInfo.js.map +1 -0
- package/dist/tools/xppKnowledge.d.ts +45 -0
- package/dist/tools/xppKnowledge.d.ts.map +1 -0
- package/dist/tools/xppKnowledge.js +2815 -0
- package/dist/tools/xppKnowledge.js.map +1 -0
- package/dist/types/context.d.ts +56 -0
- package/dist/types/context.d.ts.map +1 -0
- package/dist/types/context.js +5 -0
- package/dist/types/context.js.map +1 -0
- package/dist/utils/callDedup.d.ts +29 -0
- package/dist/utils/callDedup.d.ts.map +1 -0
- package/dist/utils/callDedup.js +87 -0
- package/dist/utils/callDedup.js.map +1 -0
- package/dist/utils/configManager.d.ts +307 -0
- package/dist/utils/configManager.d.ts.map +1 -0
- package/dist/utils/configManager.js +1169 -0
- package/dist/utils/configManager.js.map +1 -0
- package/dist/utils/d365XmlNormalizer.d.ts +9 -0
- package/dist/utils/d365XmlNormalizer.d.ts.map +1 -0
- package/dist/utils/d365XmlNormalizer.js +24 -0
- package/dist/utils/d365XmlNormalizer.js.map +1 -0
- package/dist/utils/edtExtensionValidator.d.ts +110 -0
- package/dist/utils/edtExtensionValidator.d.ts.map +1 -0
- package/dist/utils/edtExtensionValidator.js +367 -0
- package/dist/utils/edtExtensionValidator.js.map +1 -0
- package/dist/utils/eolUtils.d.ts +15 -0
- package/dist/utils/eolUtils.d.ts.map +1 -0
- package/dist/utils/eolUtils.js +21 -0
- package/dist/utils/eolUtils.js.map +1 -0
- package/dist/utils/extractManifest.d.ts +34 -0
- package/dist/utils/extractManifest.d.ts.map +1 -0
- package/dist/utils/extractManifest.js +43 -0
- package/dist/utils/extractManifest.js.map +1 -0
- package/dist/utils/fieldControlTypes.d.ts +44 -0
- package/dist/utils/fieldControlTypes.d.ts.map +1 -0
- package/dist/utils/fieldControlTypes.js +97 -0
- package/dist/utils/fieldControlTypes.js.map +1 -0
- package/dist/utils/formCloner.d.ts +77 -0
- package/dist/utils/formCloner.d.ts.map +1 -0
- package/dist/utils/formCloner.js +364 -0
- package/dist/utils/formCloner.js.map +1 -0
- package/dist/utils/formControlExpander.d.ts +68 -0
- package/dist/utils/formControlExpander.d.ts.map +1 -0
- package/dist/utils/formControlExpander.js +207 -0
- package/dist/utils/formControlExpander.js.map +1 -0
- package/dist/utils/formControlRepair.d.ts +81 -0
- package/dist/utils/formControlRepair.d.ts.map +1 -0
- package/dist/utils/formControlRepair.js +203 -0
- package/dist/utils/formControlRepair.js.map +1 -0
- package/dist/utils/formExtensionShapeValidator.d.ts +44 -0
- package/dist/utils/formExtensionShapeValidator.d.ts.map +1 -0
- package/dist/utils/formExtensionShapeValidator.js +99 -0
- package/dist/utils/formExtensionShapeValidator.js.map +1 -0
- package/dist/utils/formPatternTemplates.d.ts +77 -0
- package/dist/utils/formPatternTemplates.d.ts.map +1 -0
- package/dist/utils/formPatternTemplates.js +1917 -0
- package/dist/utils/formPatternTemplates.js.map +1 -0
- package/dist/utils/fsExtensionScanner.d.ts +76 -0
- package/dist/utils/fsExtensionScanner.d.ts.map +1 -0
- package/dist/utils/fsExtensionScanner.js +271 -0
- package/dist/utils/fsExtensionScanner.js.map +1 -0
- package/dist/utils/fuzzyMatching.d.ts +41 -0
- package/dist/utils/fuzzyMatching.d.ts.map +1 -0
- package/dist/utils/fuzzyMatching.js +186 -0
- package/dist/utils/fuzzyMatching.js.map +1 -0
- package/dist/utils/indexStaleness.d.ts +30 -0
- package/dist/utils/indexStaleness.d.ts.map +1 -0
- package/dist/utils/indexStaleness.js +104 -0
- package/dist/utils/indexStaleness.js.map +1 -0
- package/dist/utils/loadEnv.d.ts +32 -0
- package/dist/utils/loadEnv.d.ts.map +1 -0
- package/dist/utils/loadEnv.js +83 -0
- package/dist/utils/loadEnv.js.map +1 -0
- package/dist/utils/logger.d.ts +4 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +11 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/metadataResolver.d.ts +155 -0
- package/dist/utils/metadataResolver.d.ts.map +1 -0
- package/dist/utils/metadataResolver.js +277 -0
- package/dist/utils/metadataResolver.js.map +1 -0
- package/dist/utils/modelClassifier.d.ts +180 -0
- package/dist/utils/modelClassifier.d.ts.map +1 -0
- package/dist/utils/modelClassifier.js +373 -0
- package/dist/utils/modelClassifier.js.map +1 -0
- package/dist/utils/operationLocks.d.ts +26 -0
- package/dist/utils/operationLocks.d.ts.map +1 -0
- package/dist/utils/operationLocks.js +182 -0
- package/dist/utils/operationLocks.js.map +1 -0
- package/dist/utils/packageResolver.d.ts +52 -0
- package/dist/utils/packageResolver.d.ts.map +1 -0
- package/dist/utils/packageResolver.js +174 -0
- package/dist/utils/packageResolver.js.map +1 -0
- package/dist/utils/pathContainment.d.ts +60 -0
- package/dist/utils/pathContainment.d.ts.map +1 -0
- package/dist/utils/pathContainment.js +270 -0
- package/dist/utils/pathContainment.js.map +1 -0
- package/dist/utils/projectUtils.d.ts +14 -0
- package/dist/utils/projectUtils.d.ts.map +1 -0
- package/dist/utils/projectUtils.js +48 -0
- package/dist/utils/projectUtils.js.map +1 -0
- package/dist/utils/provenanceStore.d.ts +54 -0
- package/dist/utils/provenanceStore.d.ts.map +1 -0
- package/dist/utils/provenanceStore.js +203 -0
- package/dist/utils/provenanceStore.js.map +1 -0
- package/dist/utils/richContext.d.ts +45 -0
- package/dist/utils/richContext.d.ts.map +1 -0
- package/dist/utils/richContext.js +316 -0
- package/dist/utils/richContext.js.map +1 -0
- package/dist/utils/smartXmlBuilder.d.ts +187 -0
- package/dist/utils/smartXmlBuilder.d.ts.map +1 -0
- package/dist/utils/smartXmlBuilder.js +504 -0
- package/dist/utils/smartXmlBuilder.js.map +1 -0
- package/dist/utils/stdioSessionInfo.d.ts +53 -0
- package/dist/utils/stdioSessionInfo.d.ts.map +1 -0
- package/dist/utils/stdioSessionInfo.js +47 -0
- package/dist/utils/stdioSessionInfo.js.map +1 -0
- package/dist/utils/suggestionEngine.d.ts +20 -0
- package/dist/utils/suggestionEngine.d.ts.map +1 -0
- package/dist/utils/suggestionEngine.js +145 -0
- package/dist/utils/suggestionEngine.js.map +1 -0
- package/dist/utils/symbolLookup.d.ts +60 -0
- package/dist/utils/symbolLookup.d.ts.map +1 -0
- package/dist/utils/symbolLookup.js +0 -0
- package/dist/utils/symbolLookup.js.map +1 -0
- package/dist/utils/terminalUi.d.ts +85 -0
- package/dist/utils/terminalUi.d.ts.map +1 -0
- package/dist/utils/terminalUi.js +182 -0
- package/dist/utils/terminalUi.js.map +1 -0
- package/dist/utils/toolMetrics.d.ts +32 -0
- package/dist/utils/toolMetrics.d.ts.map +1 -0
- package/dist/utils/toolMetrics.js +89 -0
- package/dist/utils/toolMetrics.js.map +1 -0
- package/dist/utils/toolProgressMessage.d.ts +8 -0
- package/dist/utils/toolProgressMessage.d.ts.map +1 -0
- package/dist/utils/toolProgressMessage.js +182 -0
- package/dist/utils/toolProgressMessage.js.map +1 -0
- package/dist/utils/workspaceDetector.d.ts +51 -0
- package/dist/utils/workspaceDetector.d.ts.map +1 -0
- package/dist/utils/workspaceDetector.js +328 -0
- package/dist/utils/workspaceDetector.js.map +1 -0
- package/dist/utils/xppConfigProvider.d.ts +48 -0
- package/dist/utils/xppConfigProvider.d.ts.map +1 -0
- package/dist/utils/xppConfigProvider.js +121 -0
- package/dist/utils/xppConfigProvider.js.map +1 -0
- package/dist/utils/xppDocGen.d.ts +39 -0
- package/dist/utils/xppDocGen.d.ts.map +1 -0
- package/dist/utils/xppDocGen.js +518 -0
- package/dist/utils/xppDocGen.js.map +1 -0
- package/dist/utils/xppFormat.d.ts +21 -0
- package/dist/utils/xppFormat.d.ts.map +1 -0
- package/dist/utils/xppFormat.js +102 -0
- package/dist/utils/xppFormat.js.map +1 -0
- package/dist/utils/xppSelectLint.d.ts +18 -0
- package/dist/utils/xppSelectLint.d.ts.map +1 -0
- package/dist/utils/xppSelectLint.js +80 -0
- package/dist/utils/xppSelectLint.js.map +1 -0
- package/dist/validation/formPatternValidator.d.ts +53 -0
- package/dist/validation/formPatternValidator.d.ts.map +1 -0
- package/dist/validation/formPatternValidator.js +454 -0
- package/dist/validation/formPatternValidator.js.map +1 -0
- package/dist/workspace/contextRanker.d.ts +58 -0
- package/dist/workspace/contextRanker.d.ts.map +1 -0
- package/dist/workspace/contextRanker.js +216 -0
- package/dist/workspace/contextRanker.js.map +1 -0
- package/dist/workspace/contextSnapshot.d.ts +68 -0
- package/dist/workspace/contextSnapshot.d.ts.map +1 -0
- package/dist/workspace/contextSnapshot.js +193 -0
- package/dist/workspace/contextSnapshot.js.map +1 -0
- package/dist/workspace/hybridSearch.d.ts +39 -0
- package/dist/workspace/hybridSearch.d.ts.map +1 -0
- package/dist/workspace/hybridSearch.js +96 -0
- package/dist/workspace/hybridSearch.js.map +1 -0
- package/dist/workspace/workspaceScanner.d.ts +95 -0
- package/dist/workspace/workspaceScanner.d.ts.map +1 -0
- package/dist/workspace/workspaceScanner.js +247 -0
- package/dist/workspace/workspaceScanner.js.map +1 -0
- package/dist/workspace/workspaceUtils.d.ts +23 -0
- package/dist/workspace/workspaceUtils.d.ts.map +1 -0
- package/dist/workspace/workspaceUtils.js +77 -0
- package/dist/workspace/workspaceUtils.js.map +1 -0
- package/package.json +94 -0
|
@@ -0,0 +1,504 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Smart XML Builder
|
|
3
|
+
* Helper class for building D365FO XML structures (AxTable, AxForm)
|
|
4
|
+
* with proper formatting and structure
|
|
5
|
+
*/
|
|
6
|
+
import { FormPatternTemplates } from './formPatternTemplates.js';
|
|
7
|
+
import { ensureXppDocComment } from './xppDocGen.js';
|
|
8
|
+
import { decodeXmlEntitiesFromXppSource } from '../tools/modifyD365File.js';
|
|
9
|
+
import { controlForField } from './fieldControlTypes.js';
|
|
10
|
+
export class SmartXmlBuilder {
|
|
11
|
+
stats;
|
|
12
|
+
/** When omitted (or the stats are empty) the builder falls back to its static, BP-validated defaults. */
|
|
13
|
+
constructor(stats) {
|
|
14
|
+
this.stats = stats;
|
|
15
|
+
}
|
|
16
|
+
/** Majority value mined from standard models, or undefined when no statistics exist. */
|
|
17
|
+
minedMajority(nodeType, property) {
|
|
18
|
+
try {
|
|
19
|
+
const dist = this.stats?.getPropertyValueDistribution(nodeType, property, 1) ?? [];
|
|
20
|
+
return dist[0]?.value;
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return undefined; // stats are best-effort — never fail generation
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Build AxTable XML with fields, indexes, and relations.
|
|
28
|
+
* Structure validated against real D365FO AOT XML (K:\AosService\PackagesLocalDirectory).
|
|
29
|
+
*/
|
|
30
|
+
buildTableXml(spec) {
|
|
31
|
+
const { name, label, tableGroup, tableType, fields, indexes, relations, methods } = spec;
|
|
32
|
+
let xml = `<?xml version="1.0" encoding="utf-8"?>\n`;
|
|
33
|
+
xml += `<AxTable xmlns:i="http://www.w3.org/2001/XMLSchema-instance">\n`;
|
|
34
|
+
xml += `\t<Name>${name}</Name>\n`;
|
|
35
|
+
// <SourceCode> must be the first child of <AxTable> (D365FO AOT requirement)
|
|
36
|
+
xml += `\t<SourceCode>\n`;
|
|
37
|
+
xml += `\t\t<Declaration><![CDATA[\n/// <summary>\n/// The <c>${name}</c> table.\n/// </summary>\npublic class ${name} extends common\n{\n}\n]]></Declaration>\n`;
|
|
38
|
+
if (methods && methods.length > 0) {
|
|
39
|
+
xml += `\t\t<Methods>\n`;
|
|
40
|
+
xml += methods
|
|
41
|
+
.map(m => `\t\t\t<Method>\n\t\t\t\t<Name>${m.name}</Name>\n\t\t\t\t<Source><![CDATA[\n${ensureXppDocComment(decodeXmlEntitiesFromXppSource(m.source))}\n\n]]></Source>\n\t\t\t</Method>`)
|
|
42
|
+
.join('\n\n') + '\n';
|
|
43
|
+
xml += `\t\t</Methods>\n`;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
xml += `\t\t<Methods />\n`;
|
|
47
|
+
}
|
|
48
|
+
xml += `\t</SourceCode>\n`;
|
|
49
|
+
if (label) {
|
|
50
|
+
xml += `\t<Label>${this.escapeXml(label)}</Label>\n`;
|
|
51
|
+
}
|
|
52
|
+
// 'RegularTable' is the default and is omitted from XML.
|
|
53
|
+
const normalizedTableType = tableType && tableType.toLowerCase() !== 'regulartable' ? tableType : '';
|
|
54
|
+
const isTempTable = normalizedTableType === 'TempDB' || normalizedTableType === 'InMemory';
|
|
55
|
+
// 'TempDB'/'InMemory' are TableType values, not valid TableGroup values.
|
|
56
|
+
if (tableGroup === 'TempDB' || tableGroup === 'InMemory') {
|
|
57
|
+
throw new Error(`❌ Invalid TableGroup value "${tableGroup}". ` +
|
|
58
|
+
`'TempDB' and 'InMemory' are values for the TableType property, NOT for TableGroup. ` +
|
|
59
|
+
`Valid TableGroup values: Main | Transaction | Parameter | Group | Reference | ` +
|
|
60
|
+
`Miscellaneous | WorksheetHeader | WorksheetLine | Framework. ` +
|
|
61
|
+
`To create a temporary table pass tableType="${tableGroup}" and keep tableGroup empty or set it to 'Main'.`);
|
|
62
|
+
}
|
|
63
|
+
// System enum TableGroup values (source: MSDN / D365FO AOT):
|
|
64
|
+
// Miscellaneous (default), Main, Transaction, Parameter, Group,
|
|
65
|
+
// WorksheetHeader, WorksheetLine, Reference, Framework.
|
|
66
|
+
// TempDB/InMemory tables default to 'Main'; regular tables default to the
|
|
67
|
+
// majority value mined from the indexed standard models, else 'Main'.
|
|
68
|
+
const effectiveTableGroup = tableGroup
|
|
69
|
+
|| (isTempTable ? 'Main' : this.minedMajority('AxTable', 'TableGroup'))
|
|
70
|
+
|| 'Main';
|
|
71
|
+
// BP rule: CacheLookup must be set to avoid the "CacheLookup should be set" BP warning.
|
|
72
|
+
// TempDB/InMemory tables are session-scoped, not in SQL Server → never cached.
|
|
73
|
+
if (isTempTable) {
|
|
74
|
+
xml += `\t<CacheLookup>None</CacheLookup>\n`;
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
const cacheLookupMap = {
|
|
78
|
+
Parameter: 'Found',
|
|
79
|
+
Group: 'Found',
|
|
80
|
+
Main: 'Found',
|
|
81
|
+
Transaction: 'None',
|
|
82
|
+
WorksheetHeader: 'None',
|
|
83
|
+
WorksheetLine: 'None',
|
|
84
|
+
Miscellaneous: 'NotInTTS',
|
|
85
|
+
Framework: 'Found',
|
|
86
|
+
};
|
|
87
|
+
const cacheLookup = cacheLookupMap[effectiveTableGroup] || 'Found';
|
|
88
|
+
xml += `\t<CacheLookup>${cacheLookup}</CacheLookup>\n`;
|
|
89
|
+
}
|
|
90
|
+
// BP rule: TempDB/InMemory tables are session-scoped, not company-scoped.
|
|
91
|
+
xml += `\t<SaveDataPerCompany>${isTempTable ? 'No' : 'Yes'}</SaveDataPerCompany>\n`;
|
|
92
|
+
xml += `\t<TableGroup>${effectiveTableGroup}</TableGroup>\n`;
|
|
93
|
+
if (normalizedTableType) {
|
|
94
|
+
xml += `\t<TableType>${normalizedTableType}</TableType>\n`;
|
|
95
|
+
}
|
|
96
|
+
const titleCandidates = fields.filter(f => f.name !== 'RecId').slice(0, 2);
|
|
97
|
+
if (titleCandidates[0])
|
|
98
|
+
xml += `\t<TitleField1>${titleCandidates[0].name}</TitleField1>\n`;
|
|
99
|
+
if (titleCandidates[1])
|
|
100
|
+
xml += `\t<TitleField2>${titleCandidates[1].name}</TitleField2>\n`;
|
|
101
|
+
const uniqueIdx = indexes?.find(i => i.unique);
|
|
102
|
+
if (uniqueIdx) {
|
|
103
|
+
xml += `\t<PrimaryIndex>${uniqueIdx.name}</PrimaryIndex>\n`;
|
|
104
|
+
xml += `\t<ReplacementKey>${uniqueIdx.name}</ReplacementKey>\n`;
|
|
105
|
+
}
|
|
106
|
+
// BP rule: a table needs a ClusteredIndex to avoid the "no clustered index" warning.
|
|
107
|
+
const clusteredIdx = indexes?.find(i => i.clustered) || uniqueIdx;
|
|
108
|
+
if (clusteredIdx) {
|
|
109
|
+
xml += `\t<ClusteredIndex>${clusteredIdx.name}</ClusteredIndex>\n`;
|
|
110
|
+
}
|
|
111
|
+
// BP rule: relations require matching DeleteActions to avoid a BP warning.
|
|
112
|
+
if (relations && relations.length > 0) {
|
|
113
|
+
xml += `\t<DeleteActions>\n`;
|
|
114
|
+
for (const rel of relations) {
|
|
115
|
+
xml += `\t\t<AxTableDeleteAction>\n`;
|
|
116
|
+
xml += `\t\t\t<Name>${rel.targetTable}</Name>\n`;
|
|
117
|
+
xml += `\t\t\t<Table>${rel.targetTable}</Table>\n`;
|
|
118
|
+
xml += `\t\t\t<DeleteAction>Restricted</DeleteAction>\n`;
|
|
119
|
+
xml += `\t\t</AxTableDeleteAction>\n`;
|
|
120
|
+
}
|
|
121
|
+
xml += `\t</DeleteActions>\n`;
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
xml += `\t<DeleteActions />\n`;
|
|
125
|
+
}
|
|
126
|
+
// 5 standard FieldGroups required by the D365FO project system, in AOT order:
|
|
127
|
+
// AutoReport, AutoLookup, AutoIdentification, AutoSummary, AutoBrowse.
|
|
128
|
+
// BP rule: AutoReport must not be empty.
|
|
129
|
+
const autoReportFields = fields.filter(f => f.name !== 'RecId').slice(0, 5);
|
|
130
|
+
xml += `\t<FieldGroups>\n`;
|
|
131
|
+
xml += `\t\t<AxTableFieldGroup>\n`;
|
|
132
|
+
xml += `\t\t\t<Name>AutoReport</Name>\n`;
|
|
133
|
+
if (autoReportFields.length > 0) {
|
|
134
|
+
xml += `\t\t\t<Fields>\n`;
|
|
135
|
+
for (const f of autoReportFields) {
|
|
136
|
+
xml += `\t\t\t\t<AxTableFieldGroupField>\n`;
|
|
137
|
+
xml += `\t\t\t\t\t<DataField>${f.name}</DataField>\n`;
|
|
138
|
+
xml += `\t\t\t\t</AxTableFieldGroupField>\n`;
|
|
139
|
+
}
|
|
140
|
+
xml += `\t\t\t</Fields>\n`;
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
xml += `\t\t\t<Fields />\n`;
|
|
144
|
+
}
|
|
145
|
+
xml += `\t\t</AxTableFieldGroup>\n`;
|
|
146
|
+
const autoLookupFields = fields.filter(f => f.name !== 'RecId').slice(0, 3);
|
|
147
|
+
xml += `\t\t<AxTableFieldGroup>\n`;
|
|
148
|
+
xml += `\t\t\t<Name>AutoLookup</Name>\n`;
|
|
149
|
+
if (autoLookupFields.length > 0) {
|
|
150
|
+
xml += `\t\t\t<Fields>\n`;
|
|
151
|
+
for (const f of autoLookupFields) {
|
|
152
|
+
xml += `\t\t\t\t<AxTableFieldGroupField>\n`;
|
|
153
|
+
xml += `\t\t\t\t\t<DataField>${f.name}</DataField>\n`;
|
|
154
|
+
xml += `\t\t\t\t</AxTableFieldGroupField>\n`;
|
|
155
|
+
}
|
|
156
|
+
xml += `\t\t\t</Fields>\n`;
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
xml += `\t\t\t<Fields />\n`;
|
|
160
|
+
}
|
|
161
|
+
xml += `\t\t</AxTableFieldGroup>\n`;
|
|
162
|
+
// AutoIdentification requires AutoPopulate=Yes.
|
|
163
|
+
xml += `\t\t<AxTableFieldGroup>\n`;
|
|
164
|
+
xml += `\t\t\t<Name>AutoIdentification</Name>\n`;
|
|
165
|
+
xml += `\t\t\t<AutoPopulate>Yes</AutoPopulate>\n`;
|
|
166
|
+
xml += `\t\t\t<Fields />\n`;
|
|
167
|
+
xml += `\t\t</AxTableFieldGroup>\n`;
|
|
168
|
+
for (const groupName of ['AutoSummary', 'AutoBrowse']) {
|
|
169
|
+
xml += `\t\t<AxTableFieldGroup>\n`;
|
|
170
|
+
xml += `\t\t\t<Name>${groupName}</Name>\n`;
|
|
171
|
+
xml += `\t\t\t<Fields />\n`;
|
|
172
|
+
xml += `\t\t</AxTableFieldGroup>\n`;
|
|
173
|
+
}
|
|
174
|
+
xml += `\t</FieldGroups>\n`;
|
|
175
|
+
if (fields.length > 0) {
|
|
176
|
+
xml += `\t<Fields>\n`;
|
|
177
|
+
for (const field of fields) {
|
|
178
|
+
xml += this.buildTableField(field);
|
|
179
|
+
}
|
|
180
|
+
xml += `\t</Fields>\n`;
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
xml += `\t<Fields />\n`;
|
|
184
|
+
}
|
|
185
|
+
xml += `\t<FullTextIndexes />\n`;
|
|
186
|
+
if (indexes && indexes.length > 0) {
|
|
187
|
+
xml += `\t<Indexes>\n`;
|
|
188
|
+
for (const index of indexes) {
|
|
189
|
+
xml += this.buildTableIndex(index);
|
|
190
|
+
}
|
|
191
|
+
xml += `\t</Indexes>\n`;
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
xml += `\t<Indexes />\n`;
|
|
195
|
+
}
|
|
196
|
+
xml += `\t<Mappings />\n`;
|
|
197
|
+
if (relations && relations.length > 0) {
|
|
198
|
+
xml += `\t<Relations>\n`;
|
|
199
|
+
for (const relation of relations) {
|
|
200
|
+
xml += this.buildTableRelation(relation);
|
|
201
|
+
}
|
|
202
|
+
xml += `\t</Relations>\n`;
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
xml += `\t<Relations />\n`;
|
|
206
|
+
}
|
|
207
|
+
xml += `\t<StateMachines />\n`;
|
|
208
|
+
xml += `</AxTable>\n`;
|
|
209
|
+
return xml;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Build AxForm XML by delegating to the pattern-specific template builder.
|
|
213
|
+
*
|
|
214
|
+
* Each D365FO form pattern has a pre-defined, structurally validated skeleton
|
|
215
|
+
* (ActionPane, QuickFilter, Grid style, etc.) derived from real AOT reference forms.
|
|
216
|
+
*
|
|
217
|
+
* Supported patterns: SimpleList | SimpleListDetails | DetailsMaster |
|
|
218
|
+
* DetailsTransaction | Dialog | TableOfContents | Lookup
|
|
219
|
+
* Default: SimpleList (most common for new setup/configuration tables)
|
|
220
|
+
*/
|
|
221
|
+
buildFormXml(spec) {
|
|
222
|
+
const { name, label, caption, dataSources, formPattern, gridFields, sections, linesDsName, linesDsTable } = spec;
|
|
223
|
+
const primaryDs = dataSources[0];
|
|
224
|
+
const pattern = formPattern
|
|
225
|
+
? FormPatternTemplates.normalizePattern(formPattern)
|
|
226
|
+
: this.defaultFormPattern();
|
|
227
|
+
return FormPatternTemplates.build(pattern, {
|
|
228
|
+
formName: name,
|
|
229
|
+
dsName: primaryDs?.name,
|
|
230
|
+
dsTable: primaryDs?.table,
|
|
231
|
+
caption: caption || label,
|
|
232
|
+
gridFields: gridFields || [],
|
|
233
|
+
sections,
|
|
234
|
+
linesDsName,
|
|
235
|
+
linesDsTable,
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Default form pattern when the caller does not specify one: the most common
|
|
240
|
+
* AxFormDesign.Pattern mined from the indexed standard models, normalized to
|
|
241
|
+
* a supported template. Static fallback: SimpleList (most common for new
|
|
242
|
+
* setup/configuration tables).
|
|
243
|
+
*/
|
|
244
|
+
defaultFormPattern() {
|
|
245
|
+
const mined = this.minedMajority('AxFormDesign', 'Pattern');
|
|
246
|
+
return mined ? FormPatternTemplates.normalizePattern(mined) : 'SimpleList';
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Build AxForm XML for a specific pattern directly.
|
|
250
|
+
* Convenience wrapper exposing FormPatternTemplates to callers that already
|
|
251
|
+
* know the pattern (e.g. generateSmartForm.ts).
|
|
252
|
+
*/
|
|
253
|
+
buildFormXmlForPattern(pattern, formName, dsName, dsTable, caption, gridFields, sections, linesDsName, linesDsTable) {
|
|
254
|
+
return FormPatternTemplates.build(pattern, {
|
|
255
|
+
formName, dsName, dsTable, caption, gridFields: gridFields || [],
|
|
256
|
+
sections, linesDsName, linesDsTable,
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Build table field XML node.
|
|
261
|
+
* D365FO uses generic <AxTableField xmlns="" i:type="AxTableFieldString"> format,
|
|
262
|
+
* NOT typed element names like <AxTableFieldString>.
|
|
263
|
+
*/
|
|
264
|
+
buildTableField(field) {
|
|
265
|
+
const { name, edt, type, mandatory, label, enumType } = field;
|
|
266
|
+
// Enum-backed fields use AxTableFieldEnum + <EnumType>, never <ExtendedDataType>.
|
|
267
|
+
const iType = enumType ? 'AxTableFieldEnum' : this.getAxTableFieldType(edt, type);
|
|
268
|
+
let xml = `\t\t<AxTableField xmlns=""\n\t\t\t\ti:type="${iType}">\n`;
|
|
269
|
+
xml += `\t\t\t<Name>${name}</Name>\n`;
|
|
270
|
+
if (enumType) {
|
|
271
|
+
xml += `\t\t\t<EnumType>${enumType}</EnumType>\n`;
|
|
272
|
+
}
|
|
273
|
+
else if (edt) {
|
|
274
|
+
xml += `\t\t\t<ExtendedDataType>${edt}</ExtendedDataType>\n`;
|
|
275
|
+
}
|
|
276
|
+
if (mandatory) {
|
|
277
|
+
xml += `\t\t\t<Mandatory>Yes</Mandatory>\n`;
|
|
278
|
+
}
|
|
279
|
+
if (label) {
|
|
280
|
+
xml += `\t\t\t<Label>${this.escapeXml(label)}</Label>\n`;
|
|
281
|
+
}
|
|
282
|
+
xml += `\t\t</AxTableField>\n`;
|
|
283
|
+
return xml;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Map EDT/type hint to D365FO AxTableField i:type attribute value.
|
|
287
|
+
* Based on real XML analysis from K:\AosService\PackagesLocalDirectory.
|
|
288
|
+
*
|
|
289
|
+
* Order of precedence:
|
|
290
|
+
* 1. Explicit `type` (primitive base type from DB or caller) — most accurate
|
|
291
|
+
* 2. EDT name heuristics — fallback when type is not known
|
|
292
|
+
*/
|
|
293
|
+
getAxTableFieldType(edt, type) {
|
|
294
|
+
if (type) {
|
|
295
|
+
const typeMap = {
|
|
296
|
+
String: 'AxTableFieldString',
|
|
297
|
+
Integer: 'AxTableFieldInt',
|
|
298
|
+
Int64: 'AxTableFieldInt64',
|
|
299
|
+
Real: 'AxTableFieldReal',
|
|
300
|
+
Date: 'AxTableFieldDate',
|
|
301
|
+
DateTime: 'AxTableFieldUtcDateTime',
|
|
302
|
+
UtcDateTime: 'AxTableFieldUtcDateTime',
|
|
303
|
+
Enum: 'AxTableFieldEnum',
|
|
304
|
+
Container: 'AxTableFieldContainer',
|
|
305
|
+
Guid: 'AxTableFieldGuid',
|
|
306
|
+
GUID: 'AxTableFieldGuid',
|
|
307
|
+
};
|
|
308
|
+
const mapped = typeMap[type];
|
|
309
|
+
if (mapped)
|
|
310
|
+
return mapped;
|
|
311
|
+
}
|
|
312
|
+
// Fall back to EDT name heuristics
|
|
313
|
+
if (edt) {
|
|
314
|
+
const e = edt.toLowerCase();
|
|
315
|
+
if (e === 'recid' || e.endsWith('recid') || e.includes('refrecid'))
|
|
316
|
+
return 'AxTableFieldInt64';
|
|
317
|
+
if (e.includes('utcdatetime') || (e.includes('datetime') && !e.includes('transdate')))
|
|
318
|
+
return 'AxTableFieldUtcDateTime';
|
|
319
|
+
if ((e.includes('date') && !e.includes('time') && !e.includes('update')))
|
|
320
|
+
return 'AxTableFieldDate';
|
|
321
|
+
if (e.includes('amount') || e.includes('mst') || e.includes('price') || e.includes('qty')
|
|
322
|
+
|| e.includes('percent') || e === 'real')
|
|
323
|
+
return 'AxTableFieldReal';
|
|
324
|
+
if (e === 'noyesid' || e.endsWith('noyesid') || e === 'noyes')
|
|
325
|
+
return 'AxTableFieldEnum';
|
|
326
|
+
if ((e.endsWith('int') || e.includes('count') || e.includes('level'))
|
|
327
|
+
&& !e.includes('account') && !e.includes('name'))
|
|
328
|
+
return 'AxTableFieldInt';
|
|
329
|
+
}
|
|
330
|
+
return 'AxTableFieldString';
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Build table index XML node.
|
|
334
|
+
* D365FO uses <AlternateKey>Yes</AlternateKey> for unique indexes — NOT <AllowDuplicates>No>.
|
|
335
|
+
*/
|
|
336
|
+
buildTableIndex(index) {
|
|
337
|
+
const { name, fields, unique } = index;
|
|
338
|
+
let xml = `\t\t<AxTableIndex>\n`;
|
|
339
|
+
xml += `\t\t\t<Name>${name}</Name>\n`;
|
|
340
|
+
if (unique) {
|
|
341
|
+
xml += `\t\t\t<AlternateKey>Yes</AlternateKey>\n`;
|
|
342
|
+
// BP rule: AllowDuplicates must be No for unique indexes.
|
|
343
|
+
xml += `\t\t\t<AllowDuplicates>No</AllowDuplicates>\n`;
|
|
344
|
+
}
|
|
345
|
+
xml += `\t\t\t<Fields>\n`;
|
|
346
|
+
for (const fieldName of fields) {
|
|
347
|
+
xml += `\t\t\t\t<AxTableIndexField>\n`;
|
|
348
|
+
xml += `\t\t\t\t\t<DataField>${fieldName}</DataField>\n`;
|
|
349
|
+
xml += `\t\t\t\t</AxTableIndexField>\n`;
|
|
350
|
+
}
|
|
351
|
+
xml += `\t\t\t</Fields>\n`;
|
|
352
|
+
xml += `\t\t</AxTableIndex>\n`;
|
|
353
|
+
return xml;
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* Build table relation XML node.
|
|
357
|
+
* Constraints use <AxTableRelationConstraint xmlns="" i:type="AxTableRelationConstraintField">.
|
|
358
|
+
*/
|
|
359
|
+
buildTableRelation(relation) {
|
|
360
|
+
const { name, targetTable, constraints } = relation;
|
|
361
|
+
let xml = `\t\t<AxTableRelation>\n`;
|
|
362
|
+
xml += `\t\t\t<Name>${name}</Name>\n`;
|
|
363
|
+
xml += `\t\t\t<Cardinality>ZeroMore</Cardinality>\n`;
|
|
364
|
+
xml += `\t\t\t<RelatedTable>${targetTable}</RelatedTable>\n`;
|
|
365
|
+
xml += `\t\t\t<RelatedTableCardinality>ExactlyOne</RelatedTableCardinality>\n`;
|
|
366
|
+
xml += `\t\t\t<RelationshipType>Association</RelationshipType>\n`;
|
|
367
|
+
xml += `\t\t\t<Constraints>\n`;
|
|
368
|
+
for (const constraint of constraints) {
|
|
369
|
+
xml += `\t\t\t\t<AxTableRelationConstraint xmlns=""\n\t\t\t\t\t\ti:type="AxTableRelationConstraintField">\n`;
|
|
370
|
+
xml += `\t\t\t\t\t<Name>${constraint.field}</Name>\n`;
|
|
371
|
+
xml += `\t\t\t\t\t<Field>${constraint.field}</Field>\n`;
|
|
372
|
+
xml += `\t\t\t\t\t<RelatedField>${constraint.relatedField}</RelatedField>\n`;
|
|
373
|
+
xml += `\t\t\t\t</AxTableRelationConstraint>\n`;
|
|
374
|
+
}
|
|
375
|
+
xml += `\t\t\t</Constraints>\n`;
|
|
376
|
+
xml += `\t\t</AxTableRelation>\n`;
|
|
377
|
+
return xml;
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Build form datasource XML node.
|
|
381
|
+
* D365FO: <AxFormDataSource xmlns=""> required to override default form namespace.
|
|
382
|
+
*/
|
|
383
|
+
buildFormDataSource(ds) {
|
|
384
|
+
const { name, table, allowEdit, allowCreate, allowDelete } = ds;
|
|
385
|
+
let xml = `\t\t<AxFormDataSource xmlns="">\n`;
|
|
386
|
+
xml += `\t\t\t<Name>${name}</Name>\n`;
|
|
387
|
+
xml += `\t\t\t<Table>${table}</Table>\n`;
|
|
388
|
+
// Empty <Fields /> means all table fields are available in the datasource.
|
|
389
|
+
xml += `\t\t\t<Fields />\n`;
|
|
390
|
+
xml += `\t\t\t<ReferencedDataSources />\n`;
|
|
391
|
+
// AllowCreate/Edit/Delete must come after ReferencedDataSources to match AOT XML order.
|
|
392
|
+
if (allowCreate === false)
|
|
393
|
+
xml += `\t\t\t<AllowCreate>No</AllowCreate>\n`;
|
|
394
|
+
if (allowEdit === false)
|
|
395
|
+
xml += `\t\t\t<AllowEdit>No</AllowEdit>\n`;
|
|
396
|
+
if (allowDelete === false)
|
|
397
|
+
xml += `\t\t\t<AllowDelete>No</AllowDelete>\n`;
|
|
398
|
+
xml += `\t\t\t<DataSourceLinks />\n`;
|
|
399
|
+
xml += `\t\t\t<DerivedDataSources />\n`;
|
|
400
|
+
xml += `\t\t</AxFormDataSource>\n`;
|
|
401
|
+
return xml;
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* Build form control XML node (recursive).
|
|
405
|
+
* D365FO: <AxFormControl xmlns="" i:type="AxFormStringControl"> with required Type and
|
|
406
|
+
* FormControlExtension properties. xmlns="" resets default form namespace.
|
|
407
|
+
*/
|
|
408
|
+
buildFormControl(control, indentLevel) {
|
|
409
|
+
const { name, type, properties, children } = control;
|
|
410
|
+
const indent = '\t'.repeat(indentLevel);
|
|
411
|
+
const i1 = indent + '\t';
|
|
412
|
+
const typeMap = {
|
|
413
|
+
Grid: { iType: 'AxFormGridControl', typeValue: 'Grid' },
|
|
414
|
+
Group: { iType: 'AxFormGroupControl', typeValue: 'Group' },
|
|
415
|
+
String: { iType: 'AxFormStringControl', typeValue: 'String' },
|
|
416
|
+
Int64: { iType: 'AxFormInt64Control', typeValue: 'Int64' },
|
|
417
|
+
Real: { iType: 'AxFormRealControl', typeValue: 'Real' },
|
|
418
|
+
Date: { iType: 'AxFormDateControl', typeValue: 'Date' },
|
|
419
|
+
DateTime: { iType: 'AxFormDateTimeControl', typeValue: 'DateTime' },
|
|
420
|
+
Button: { iType: 'AxFormButtonControl', typeValue: 'Button' },
|
|
421
|
+
ActionPane: { iType: 'AxFormActionPaneControl', typeValue: 'ActionPane' },
|
|
422
|
+
};
|
|
423
|
+
// An explicit per-control override (set by buildGridControl for typed fields)
|
|
424
|
+
// wins over the coarse FormControlSpec.type mapping.
|
|
425
|
+
const mapped = control.iType && control.typeValue
|
|
426
|
+
? { iType: control.iType, typeValue: control.typeValue }
|
|
427
|
+
: typeMap[type] ?? { iType: 'AxFormStringControl', typeValue: 'String' };
|
|
428
|
+
let xml = `${indent}<AxFormControl xmlns=""\n${indent}\ti:type="${mapped.iType}">\n`;
|
|
429
|
+
xml += `${i1}<Name>${name}</Name>\n`;
|
|
430
|
+
xml += `${i1}<Type>${mapped.typeValue}</Type>\n`;
|
|
431
|
+
// FormControlExtension is mandatory on every control.
|
|
432
|
+
xml += `${i1}<FormControlExtension\n${i1}\ti:nil="true" />\n`;
|
|
433
|
+
if (properties) {
|
|
434
|
+
for (const [key, value] of Object.entries(properties)) {
|
|
435
|
+
xml += `${i1}<${key}>${this.escapeXml(value)}</${key}>\n`;
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
if (children && children.length > 0) {
|
|
439
|
+
xml += `${i1}<Controls>\n`;
|
|
440
|
+
for (const child of children) {
|
|
441
|
+
xml += this.buildFormControl(child, indentLevel + 2);
|
|
442
|
+
}
|
|
443
|
+
xml += `${i1}</Controls>\n`;
|
|
444
|
+
}
|
|
445
|
+
xml += `${indent}</AxFormControl>\n`;
|
|
446
|
+
return xml;
|
|
447
|
+
}
|
|
448
|
+
/**
|
|
449
|
+
* Escape XML special characters
|
|
450
|
+
*/
|
|
451
|
+
escapeXml(text) {
|
|
452
|
+
return text
|
|
453
|
+
.replace(/&/g, '&')
|
|
454
|
+
.replace(/</g, '<')
|
|
455
|
+
.replace(/>/g, '>')
|
|
456
|
+
.replace(/"/g, '"')
|
|
457
|
+
.replace(/'/g, ''');
|
|
458
|
+
}
|
|
459
|
+
/**
|
|
460
|
+
* Generate primary key index for table
|
|
461
|
+
*/
|
|
462
|
+
buildPrimaryKeyIndex(tableName, fields) {
|
|
463
|
+
return {
|
|
464
|
+
name: `${tableName}Idx`,
|
|
465
|
+
fields,
|
|
466
|
+
unique: true,
|
|
467
|
+
clustered: false,
|
|
468
|
+
};
|
|
469
|
+
}
|
|
470
|
+
/**
|
|
471
|
+
* Generate form grid control with fields
|
|
472
|
+
*/
|
|
473
|
+
buildGridControl(name, dataSource, fields, fieldTypes) {
|
|
474
|
+
const gridChildren = fields.map(field => {
|
|
475
|
+
// Resolve control type per field (enum -> ComboBox, date -> Date, etc.);
|
|
476
|
+
// unknown fields fall back to a string control.
|
|
477
|
+
const ctl = controlForField(field, fieldTypes);
|
|
478
|
+
return {
|
|
479
|
+
// Prefix with dataSource to avoid name collisions when multiple grids exist.
|
|
480
|
+
name: `${dataSource}_${field}`,
|
|
481
|
+
type: 'String',
|
|
482
|
+
iType: ctl.iType,
|
|
483
|
+
typeValue: ctl.typeValue,
|
|
484
|
+
properties: {
|
|
485
|
+
// DataField must come before DataSource to match AOT XML element order.
|
|
486
|
+
DataField: field,
|
|
487
|
+
DataSource: dataSource,
|
|
488
|
+
},
|
|
489
|
+
};
|
|
490
|
+
});
|
|
491
|
+
return {
|
|
492
|
+
name,
|
|
493
|
+
type: 'Grid',
|
|
494
|
+
properties: {
|
|
495
|
+
DataSource: dataSource,
|
|
496
|
+
Style: 'Tabular',
|
|
497
|
+
},
|
|
498
|
+
children: gridChildren,
|
|
499
|
+
};
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
// Re-exported so callers can import pattern types from this module directly.
|
|
503
|
+
export { FormPatternTemplates } from './formPatternTemplates.js';
|
|
504
|
+
//# sourceMappingURL=smartXmlBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smartXmlBuilder.js","sourceRoot":"","sources":["../../src/utils/smartXmlBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Singleton that stores information captured from the stdio MCP handshake.
|
|
3
|
+
*
|
|
4
|
+
* Written by:
|
|
5
|
+
* - index.ts createInitializeParamsSniffer() — parses the raw `initialize`
|
|
6
|
+
* JSON-RPC request (first message on stdin) and stores clientInfo + capabilities.
|
|
7
|
+
* - mcpServer.ts applyRootsToConfig() — stores last roots/list result.
|
|
8
|
+
* - mcpServer.ts RootsListChangedNotificationSchema handler — increments
|
|
9
|
+
* rootsListChangedCount each time VS 2022 reports a workspace change.
|
|
10
|
+
*
|
|
11
|
+
* Read by get_workspace_info so devs can verify what VS 2022 is sending
|
|
12
|
+
* without having to grep log files.
|
|
13
|
+
*/
|
|
14
|
+
export interface StdioSessionInfo {
|
|
15
|
+
/** e.g. "Microsoft Visual Studio" */
|
|
16
|
+
clientName: string | null;
|
|
17
|
+
/** e.g. "17.12.35527.113" */
|
|
18
|
+
clientVersion: string | null;
|
|
19
|
+
/** e.g. "2025-06-18" */
|
|
20
|
+
protocolVersion: string | null;
|
|
21
|
+
/** true when client declared roots.listChanged capability */
|
|
22
|
+
supportsRootsListChanged: boolean;
|
|
23
|
+
/** ISO timestamp of the initialize message */
|
|
24
|
+
initializedAt: string | null;
|
|
25
|
+
/** URIs from the most recent roots/list response */
|
|
26
|
+
lastRoots: string[];
|
|
27
|
+
/** ISO timestamp of the most recent roots/list fetch */
|
|
28
|
+
rootsLastAt: string | null;
|
|
29
|
+
/** How many times roots/list_changed notification arrived (0 = never) */
|
|
30
|
+
rootsListChangedCount: number;
|
|
31
|
+
/** ISO timestamp of the most recent roots/list_changed notification */
|
|
32
|
+
rootsListChangedLastAt: string | null;
|
|
33
|
+
}
|
|
34
|
+
/** Returns a live reference — callers should treat it as read-only. */
|
|
35
|
+
export declare function getStdioSessionInfo(): Readonly<StdioSessionInfo>;
|
|
36
|
+
/** Called once when the raw `initialize` request is parsed from stdin. */
|
|
37
|
+
export declare function setInitializeParams(params: {
|
|
38
|
+
protocolVersion?: string;
|
|
39
|
+
clientInfo?: {
|
|
40
|
+
name?: string;
|
|
41
|
+
version?: string;
|
|
42
|
+
};
|
|
43
|
+
capabilities?: {
|
|
44
|
+
roots?: {
|
|
45
|
+
listChanged?: boolean;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
}): void;
|
|
49
|
+
/** Called by applyRootsToConfig after each roots/list fetch. */
|
|
50
|
+
export declare function setLastRoots(uris: string[]): void;
|
|
51
|
+
/** Called by the RootsListChangedNotificationSchema handler. */
|
|
52
|
+
export declare function recordRootsListChanged(): void;
|
|
53
|
+
//# sourceMappingURL=stdioSessionInfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdioSessionInfo.d.ts","sourceRoot":"","sources":["../../src/utils/stdioSessionInfo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,UAAU,EAAK,MAAM,GAAG,IAAI,CAAC;IAC7B,6BAA6B;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,wBAAwB;IACxB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,6DAA6D;IAC7D,wBAAwB,EAAE,OAAO,CAAC;IAClC,8CAA8C;IAC9C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,oDAAoD;IACpD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,wDAAwD;IACxD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,yEAAyE;IACzE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uEAAuE;IACvE,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC;AAcD,uEAAuE;AACvE,wBAAgB,mBAAmB,IAAI,QAAQ,CAAC,gBAAgB,CAAC,CAEhE;AAED,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,YAAY,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE;YAAE,WAAW,CAAC,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE,CAAC;CACtD,GAAG,IAAI,CAMP;AAED,gEAAgE;AAChE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAGjD;AAED,gEAAgE;AAChE,wBAAgB,sBAAsB,IAAI,IAAI,CAG7C"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Singleton that stores information captured from the stdio MCP handshake.
|
|
3
|
+
*
|
|
4
|
+
* Written by:
|
|
5
|
+
* - index.ts createInitializeParamsSniffer() — parses the raw `initialize`
|
|
6
|
+
* JSON-RPC request (first message on stdin) and stores clientInfo + capabilities.
|
|
7
|
+
* - mcpServer.ts applyRootsToConfig() — stores last roots/list result.
|
|
8
|
+
* - mcpServer.ts RootsListChangedNotificationSchema handler — increments
|
|
9
|
+
* rootsListChangedCount each time VS 2022 reports a workspace change.
|
|
10
|
+
*
|
|
11
|
+
* Read by get_workspace_info so devs can verify what VS 2022 is sending
|
|
12
|
+
* without having to grep log files.
|
|
13
|
+
*/
|
|
14
|
+
const _info = {
|
|
15
|
+
clientName: null,
|
|
16
|
+
clientVersion: null,
|
|
17
|
+
protocolVersion: null,
|
|
18
|
+
supportsRootsListChanged: false,
|
|
19
|
+
initializedAt: null,
|
|
20
|
+
lastRoots: [],
|
|
21
|
+
rootsLastAt: null,
|
|
22
|
+
rootsListChangedCount: 0,
|
|
23
|
+
rootsListChangedLastAt: null,
|
|
24
|
+
};
|
|
25
|
+
/** Returns a live reference — callers should treat it as read-only. */
|
|
26
|
+
export function getStdioSessionInfo() {
|
|
27
|
+
return _info;
|
|
28
|
+
}
|
|
29
|
+
/** Called once when the raw `initialize` request is parsed from stdin. */
|
|
30
|
+
export function setInitializeParams(params) {
|
|
31
|
+
_info.protocolVersion = params.protocolVersion ?? null;
|
|
32
|
+
_info.clientName = params.clientInfo?.name ?? null;
|
|
33
|
+
_info.clientVersion = params.clientInfo?.version ?? null;
|
|
34
|
+
_info.supportsRootsListChanged = params.capabilities?.roots?.listChanged === true;
|
|
35
|
+
_info.initializedAt = new Date().toISOString();
|
|
36
|
+
}
|
|
37
|
+
/** Called by applyRootsToConfig after each roots/list fetch. */
|
|
38
|
+
export function setLastRoots(uris) {
|
|
39
|
+
_info.lastRoots = uris;
|
|
40
|
+
_info.rootsLastAt = new Date().toISOString();
|
|
41
|
+
}
|
|
42
|
+
/** Called by the RootsListChangedNotificationSchema handler. */
|
|
43
|
+
export function recordRootsListChanged() {
|
|
44
|
+
_info.rootsListChangedCount++;
|
|
45
|
+
_info.rootsListChangedLastAt = new Date().toISOString();
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=stdioSessionInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdioSessionInfo.js","sourceRoot":"","sources":["../../src/utils/stdioSessionInfo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAuBH,MAAM,KAAK,GAAqB;IAC9B,UAAU,EAAK,IAAI;IACnB,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,IAAI;IACrB,wBAAwB,EAAE,KAAK;IAC/B,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,EAAE;IACb,WAAW,EAAE,IAAI;IACjB,qBAAqB,EAAE,CAAC;IACxB,sBAAsB,EAAE,IAAI;CAC7B,CAAC;AAEF,uEAAuE;AACvE,MAAM,UAAU,mBAAmB;IACjC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,mBAAmB,CAAC,MAInC;IACC,KAAK,CAAC,eAAe,GAAY,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC;IAChE,KAAK,CAAC,UAAU,GAAiB,MAAM,CAAC,UAAU,EAAE,IAAI,IAAO,IAAI,CAAC;IACpE,KAAK,CAAC,aAAa,GAAc,MAAM,CAAC,UAAU,EAAE,OAAO,IAAI,IAAI,CAAC;IACpE,KAAK,CAAC,wBAAwB,GAAG,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAClF,KAAK,CAAC,aAAa,GAAc,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC5D,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,YAAY,CAAC,IAAc;IACzC,KAAK,CAAC,SAAS,GAAM,IAAI,CAAC;IAC1B,KAAK,CAAC,WAAW,GAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAChD,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,sBAAsB;IACpC,KAAK,CAAC,qBAAqB,EAAE,CAAC;IAC9B,KAAK,CAAC,sBAAsB,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search Suggestion Engine
|
|
3
|
+
* Provides intelligent suggestions for failed or empty search results
|
|
4
|
+
*/
|
|
5
|
+
import type { XppSymbol } from '../metadata/types.js';
|
|
6
|
+
export interface SearchSuggestion {
|
|
7
|
+
type: 'typo' | 'broader' | 'narrower' | 'related';
|
|
8
|
+
query: string;
|
|
9
|
+
reason: string;
|
|
10
|
+
confidence: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Generate suggestions for a failed search query
|
|
14
|
+
*/
|
|
15
|
+
export declare function generateSearchSuggestions(query: string, allSymbolNames: string[], symbolsByTerm: Map<string, XppSymbol[]>, maxSuggestions?: number): SearchSuggestion[];
|
|
16
|
+
/**
|
|
17
|
+
* Format suggestions for display
|
|
18
|
+
*/
|
|
19
|
+
export declare function formatSuggestions(suggestions: SearchSuggestion[]): string;
|
|
20
|
+
//# sourceMappingURL=suggestionEngine.d.ts.map
|