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,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-artifact (`--actual-dir`) actual-file resolution for src/eval/oracle/cli.ts.
|
|
3
|
+
* Pure logic + fs reads — no CLI argv/process side effects — split out so it can be
|
|
4
|
+
* unit-tested without triggering the CLI script's `main()` (docs/AGENT_EVAL_LOOP.md §6).
|
|
5
|
+
*/
|
|
6
|
+
import * as fs from 'fs';
|
|
7
|
+
import * as path from 'path';
|
|
8
|
+
import { canonicalizePrefix } from './normalize.js';
|
|
9
|
+
/**
|
|
10
|
+
* Resolve the actual-dir file matching a golden artifact filename. Tries an
|
|
11
|
+
* exact filename match first (fast path, and the only path when golden and
|
|
12
|
+
* actual happen to share the same EXTENSION_PREFIX session); if that misses,
|
|
13
|
+
* falls back to matching on the PREFIX-CANONICALISED filename (the golden's
|
|
14
|
+
* filename is itself typically a prefixed object name, e.g.
|
|
15
|
+
* "ContosoMyContract.metadata.xml", produced under a different session than the
|
|
16
|
+
* one that generated the actual artifacts) so a whole L3/L4 multi-artifact
|
|
17
|
+
* case doesn't spuriously score every artifact as missing/extra under prefix
|
|
18
|
+
* drift alone.
|
|
19
|
+
*/
|
|
20
|
+
export function resolveActualFile(actualDir, goldenName, goldenPrefix, actualPrefix) {
|
|
21
|
+
const direct = path.join(actualDir, goldenName);
|
|
22
|
+
if (fs.existsSync(direct))
|
|
23
|
+
return direct;
|
|
24
|
+
const canonGolden = canonicalizePrefix(goldenName, goldenPrefix);
|
|
25
|
+
const candidate = fs.readdirSync(actualDir)
|
|
26
|
+
.filter(f => f.endsWith('.metadata.xml'))
|
|
27
|
+
.find(f => canonicalizePrefix(f, actualPrefix) === canonGolden);
|
|
28
|
+
return candidate ? path.join(actualDir, candidate) : undefined;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Build the `actualArtifacts` map for a multi-artifact (`--actual-dir`) run,
|
|
32
|
+
* one entry per golden artifact name.
|
|
33
|
+
*
|
|
34
|
+
* Regression: this used to key every entry by the GOLDEN's own filename
|
|
35
|
+
* (`actualArtifacts[name] = ...` inside a `for (const name of
|
|
36
|
+
* artifactNames)` loop) even when the resolved actual file had a DIFFERENT
|
|
37
|
+
* literal prefix (e.g. golden "ContosoMyContract.metadata.xml" resolved to actual
|
|
38
|
+
* file "DemoMyContract.metadata.xml" under prefix-agnostic matching —
|
|
39
|
+
* `resolveActualFile`'s whole point). `evaluateMulti`/`normalizeMultiArtifact`
|
|
40
|
+
* then canonicalises each artifact KEY with `actualPrefix` — but a key that's
|
|
41
|
+
* still the GOLDEN's literal name doesn't contain `actualPrefix` at all, so
|
|
42
|
+
* `canonicalizePrefix` is a no-op on it, and the golden side's key (correctly
|
|
43
|
+
* canonicalised from ITS OWN prefix) never matches. Every path in the
|
|
44
|
+
* artifact then shows up as wholesale `missing` (under the golden's canonical
|
|
45
|
+
* key) AND `extra` (under the actual's un-canonicalised key), even when the
|
|
46
|
+
* content is byte-identical. Keying by the RESOLVED actual file's own
|
|
47
|
+
* basename (which DOES contain `actualPrefix`) fixes the canonicalisation on
|
|
48
|
+
* both sides consistently — matching the documented multi-artifact contract
|
|
49
|
+
* (src/eval/oracle/normalize.ts's `normalizeMultiArtifact` doc comment).
|
|
50
|
+
*
|
|
51
|
+
* A golden artifact with NO resolvable actual file (genuinely missing, not a
|
|
52
|
+
* prefix-matching miss) keeps the golden's own name as the key with empty
|
|
53
|
+
* content — unchanged from before; there is no real actual basename to key it
|
|
54
|
+
* by, and the empty content correctly registers every one of that artifact's
|
|
55
|
+
* paths as `missing`.
|
|
56
|
+
*/
|
|
57
|
+
export function buildActualArtifactsMap(actualDir, artifactNames, goldenPrefix, actualPrefix) {
|
|
58
|
+
const actualArtifacts = {};
|
|
59
|
+
const matchedActualFiles = new Set();
|
|
60
|
+
for (const name of artifactNames) {
|
|
61
|
+
const actualFile = resolveActualFile(actualDir, name, goldenPrefix, actualPrefix);
|
|
62
|
+
if (actualFile) {
|
|
63
|
+
const actualBasename = path.basename(actualFile);
|
|
64
|
+
actualArtifacts[actualBasename] = fs.readFileSync(actualFile, 'utf8');
|
|
65
|
+
matchedActualFiles.add(actualBasename);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
actualArtifacts[name] = '';
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return { actualArtifacts, matchedActualFiles };
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=actualArtifactResolution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actualArtifactResolution.js","sourceRoot":"","sources":["../../../src/eval/oracle/actualArtifactResolution.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,UAAkB,EAClB,YAAoB,EACpB,YAAoB;IAEpB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAChD,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACzC,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;SACxC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;SACxC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,WAAW,CAAC,CAAC;IAClE,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,uBAAuB,CACrC,SAAiB,EACjB,aAAuB,EACvB,YAAoB,EACpB,YAAoB;IAEpB,MAAM,eAAe,GAA2B,EAAE,CAAC;IACnD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QAClF,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACjD,eAAe,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACtE,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Eval oracle CLI — score a produced artifact against its golden and (optionally)
|
|
3
|
+
* write a corpus record. VM-free: run after capturing the build result.
|
|
4
|
+
*
|
|
5
|
+
* tsx src/eval/oracle/cli.ts <caseId> <actualXml> [options]
|
|
6
|
+
* --golden <path> explicit golden file (default: first *.metadata.xml in eval/goldens/<caseId>/)
|
|
7
|
+
* --actual-dir <dir> MULTI-ARTIFACT mode: score every *.metadata.xml golden in
|
|
8
|
+
* eval/goldens/<caseId>/ against a same-named file in <dir>
|
|
9
|
+
* (L3/L4 cases that produce several objects). Mutually
|
|
10
|
+
* exclusive with the single <actualXml> positional/--golden.
|
|
11
|
+
* --build-failed mark build as failed (default: succeeded)
|
|
12
|
+
* --bp-warnings <n> number of BP warnings (default: 0)
|
|
13
|
+
* --systest <file> text file with the `run_systest_class` output (runtime oracle)
|
|
14
|
+
* --classification <C> rubric class for the record (default: derived)
|
|
15
|
+
* --golden-prefix <p> EXTENSION_PREFIX the golden was captured under (default: GOLDEN_CAPTURE_PREFIX, "Contoso")
|
|
16
|
+
* --actual-prefix <p> EXTENSION_PREFIX the actual was produced under (default: read from THIS
|
|
17
|
+
* process's EXTENSION_PREFIX env var — the session that ran the case)
|
|
18
|
+
* --write append a corpus record to eval/corpus/runs/
|
|
19
|
+
*
|
|
20
|
+
* `<actualXml>` may itself be a golden path to self-check the oracle (expect match).
|
|
21
|
+
*
|
|
22
|
+
* Root-object-name (and other prefixed-identifier) comparisons are
|
|
23
|
+
* prefix-agnostic by default: an actual object built under a DIFFERENT
|
|
24
|
+
* EXTENSION_PREFIX session than the one the golden was captured under still
|
|
25
|
+
* scores golden_match=1 as long as the object is otherwise identical (see
|
|
26
|
+
* docs/AGENT_EVAL_LOOP.md §6.2 and the corpus record that surfaced this —
|
|
27
|
+
* eval/corpus/runs/2026-07-06T10__L0-edt-basic__4fafcd8.json).
|
|
28
|
+
*/
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/eval/oracle/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Eval oracle CLI — score a produced artifact against its golden and (optionally)
|
|
3
|
+
* write a corpus record. VM-free: run after capturing the build result.
|
|
4
|
+
*
|
|
5
|
+
* tsx src/eval/oracle/cli.ts <caseId> <actualXml> [options]
|
|
6
|
+
* --golden <path> explicit golden file (default: first *.metadata.xml in eval/goldens/<caseId>/)
|
|
7
|
+
* --actual-dir <dir> MULTI-ARTIFACT mode: score every *.metadata.xml golden in
|
|
8
|
+
* eval/goldens/<caseId>/ against a same-named file in <dir>
|
|
9
|
+
* (L3/L4 cases that produce several objects). Mutually
|
|
10
|
+
* exclusive with the single <actualXml> positional/--golden.
|
|
11
|
+
* --build-failed mark build as failed (default: succeeded)
|
|
12
|
+
* --bp-warnings <n> number of BP warnings (default: 0)
|
|
13
|
+
* --systest <file> text file with the `run_systest_class` output (runtime oracle)
|
|
14
|
+
* --classification <C> rubric class for the record (default: derived)
|
|
15
|
+
* --golden-prefix <p> EXTENSION_PREFIX the golden was captured under (default: GOLDEN_CAPTURE_PREFIX, "Contoso")
|
|
16
|
+
* --actual-prefix <p> EXTENSION_PREFIX the actual was produced under (default: read from THIS
|
|
17
|
+
* process's EXTENSION_PREFIX env var — the session that ran the case)
|
|
18
|
+
* --write append a corpus record to eval/corpus/runs/
|
|
19
|
+
*
|
|
20
|
+
* `<actualXml>` may itself be a golden path to self-check the oracle (expect match).
|
|
21
|
+
*
|
|
22
|
+
* Root-object-name (and other prefixed-identifier) comparisons are
|
|
23
|
+
* prefix-agnostic by default: an actual object built under a DIFFERENT
|
|
24
|
+
* EXTENSION_PREFIX session than the one the golden was captured under still
|
|
25
|
+
* scores golden_match=1 as long as the object is otherwise identical (see
|
|
26
|
+
* docs/AGENT_EVAL_LOOP.md §6.2 and the corpus record that surfaced this —
|
|
27
|
+
* eval/corpus/runs/2026-07-06T10__L0-edt-basic__4fafcd8.json).
|
|
28
|
+
*/
|
|
29
|
+
import * as fs from 'fs';
|
|
30
|
+
import * as path from 'path';
|
|
31
|
+
import { fileURLToPath } from 'url';
|
|
32
|
+
import { execSync } from 'child_process';
|
|
33
|
+
import { evaluate, evaluateMulti, renderDiff, renderNormalized, normalizeAotXml, parseSysTestResult, GOLDEN_CAPTURE_PREFIX, } from './index.js';
|
|
34
|
+
import { resolveRegularObjectPrefixToken } from '../../utils/modelClassifier.js';
|
|
35
|
+
import { buildActualArtifactsMap } from './actualArtifactResolution.js';
|
|
36
|
+
const HERE = path.dirname(fileURLToPath(import.meta.url));
|
|
37
|
+
const REPO_ROOT = path.resolve(HERE, '..', '..', '..');
|
|
38
|
+
function arg(flag) {
|
|
39
|
+
const i = process.argv.indexOf(flag);
|
|
40
|
+
return i >= 0 ? process.argv[i + 1] : undefined;
|
|
41
|
+
}
|
|
42
|
+
function flagSet(flag) {
|
|
43
|
+
return process.argv.includes(flag);
|
|
44
|
+
}
|
|
45
|
+
function goldenDir(caseId) {
|
|
46
|
+
return path.join(REPO_ROOT, 'eval', 'goldens', caseId);
|
|
47
|
+
}
|
|
48
|
+
function findGolden(caseId) {
|
|
49
|
+
const dir = goldenDir(caseId);
|
|
50
|
+
const file = fs.readdirSync(dir).find(f => f.endsWith('.metadata.xml'));
|
|
51
|
+
if (!file)
|
|
52
|
+
throw new Error(`No *.metadata.xml golden in ${dir}`);
|
|
53
|
+
return path.join(dir, file);
|
|
54
|
+
}
|
|
55
|
+
/** All *.metadata.xml golden filenames for a case, e.g. for a multi-artifact L3/L4 case. */
|
|
56
|
+
function listGoldenArtifacts(caseId) {
|
|
57
|
+
const dir = goldenDir(caseId);
|
|
58
|
+
return fs.readdirSync(dir).filter(f => f.endsWith('.metadata.xml')).sort();
|
|
59
|
+
}
|
|
60
|
+
function shortSha() {
|
|
61
|
+
try {
|
|
62
|
+
return execSync('git rev-parse --short HEAD', { cwd: REPO_ROOT }).toString().trim();
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return 'unknown';
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/** Flags that consume the following argv element as their value. */
|
|
69
|
+
const VALUE_FLAGS = [
|
|
70
|
+
'--golden', '--actual-dir', '--bp-warnings', '--systest', '--classification',
|
|
71
|
+
'--golden-prefix', '--actual-prefix',
|
|
72
|
+
];
|
|
73
|
+
function positionalArgs(argv) {
|
|
74
|
+
const out = [];
|
|
75
|
+
for (let i = 0; i < argv.length; i++) {
|
|
76
|
+
if (argv[i].startsWith('--')) {
|
|
77
|
+
if (VALUE_FLAGS.includes(argv[i]))
|
|
78
|
+
i++; // skip its value
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
out.push(argv[i]);
|
|
82
|
+
}
|
|
83
|
+
return out;
|
|
84
|
+
}
|
|
85
|
+
async function main() {
|
|
86
|
+
const positionals = positionalArgs(process.argv.slice(2));
|
|
87
|
+
const caseId = positionals[0];
|
|
88
|
+
const actualDir = arg('--actual-dir');
|
|
89
|
+
const actualPath = actualDir ? undefined : positionals[1];
|
|
90
|
+
if (!caseId || (!actualDir && !actualPath)) {
|
|
91
|
+
console.error('usage: tsx src/eval/oracle/cli.ts <caseId> <actualXml> [--golden p] [--build-failed] [--bp-warnings n] [--write]');
|
|
92
|
+
console.error(' or: tsx src/eval/oracle/cli.ts <caseId> --actual-dir <dir> [options] (multi-artifact)');
|
|
93
|
+
process.exit(2);
|
|
94
|
+
}
|
|
95
|
+
const caseSpec = JSON.parse(fs.readFileSync(path.join(REPO_ROOT, 'eval', 'cases', `${caseId}.json`), 'utf8'));
|
|
96
|
+
const buildSucceeded = !flagSet('--build-failed');
|
|
97
|
+
const bpCount = Number(arg('--bp-warnings') ?? '0');
|
|
98
|
+
const build = { succeeded: buildSucceeded, bpWarnings: Array.from({ length: bpCount }, () => ({})) };
|
|
99
|
+
const systestFile = arg('--systest');
|
|
100
|
+
const systest = systestFile
|
|
101
|
+
? parseSysTestResult(fs.readFileSync(path.resolve(systestFile), 'utf8'))
|
|
102
|
+
: undefined;
|
|
103
|
+
// The golden corpus was captured under a fixed prefix (docs/AGENT_EVAL_LOOP.md §6.4); the
|
|
104
|
+
// actual defaults to THIS process's own EXTENSION_PREFIX — i.e. whatever session ran the
|
|
105
|
+
// case (the eval-implementer's VM env), not a guess. When EXTENSION_PREFIX isn't set at all
|
|
106
|
+
// (e.g. a local self-check comparing a golden against itself/another golden-shaped fixture,
|
|
107
|
+
// no VM session involved) fall back to the golden's own prefix so that unprefixed-env usage
|
|
108
|
+
// keeps matching exactly as before. Either is overridable for edge cases.
|
|
109
|
+
const goldenPrefix = arg('--golden-prefix') ?? GOLDEN_CAPTURE_PREFIX;
|
|
110
|
+
const actualPrefix = arg('--actual-prefix') ?? (resolveRegularObjectPrefixToken() || GOLDEN_CAPTURE_PREFIX);
|
|
111
|
+
let goldenDiff, score, systestOut, generatedArtifacts, debugLabel;
|
|
112
|
+
if (actualDir) {
|
|
113
|
+
const resolvedActualDir = path.resolve(actualDir);
|
|
114
|
+
const artifactNames = listGoldenArtifacts(caseId);
|
|
115
|
+
if (artifactNames.length === 0)
|
|
116
|
+
throw new Error(`No *.metadata.xml goldens in ${goldenDir(caseId)}`);
|
|
117
|
+
const goldenArtifacts = {};
|
|
118
|
+
for (const name of artifactNames) {
|
|
119
|
+
goldenArtifacts[name] = fs.readFileSync(path.join(goldenDir(caseId), name), 'utf8');
|
|
120
|
+
}
|
|
121
|
+
const { actualArtifacts, matchedActualFiles } = buildActualArtifactsMap(resolvedActualDir, artifactNames, goldenPrefix, actualPrefix);
|
|
122
|
+
// Surface extra actual files (produced but not golden-expected, and not already
|
|
123
|
+
// matched to a golden artifact above under prefix-canonicalised filename matching) too.
|
|
124
|
+
for (const f of fs.readdirSync(resolvedActualDir).filter(f => f.endsWith('.metadata.xml'))) {
|
|
125
|
+
if (!matchedActualFiles.has(f) && !(f in actualArtifacts)) {
|
|
126
|
+
actualArtifacts[f] = fs.readFileSync(path.join(resolvedActualDir, f), 'utf8');
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
({ goldenDiff, score, systest: systestOut } = await evaluateMulti({
|
|
130
|
+
caseSpec, actualArtifacts, goldenArtifacts, build, systest, goldenPrefix, actualPrefix,
|
|
131
|
+
}));
|
|
132
|
+
generatedArtifacts = Object.keys(actualArtifacts);
|
|
133
|
+
debugLabel = `${artifactNames.length} artifact(s) in ${actualDir}`;
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
const goldenPath = arg('--golden') ?? findGolden(caseId);
|
|
137
|
+
const goldenXml = fs.readFileSync(goldenPath, 'utf8');
|
|
138
|
+
const actualXml = fs.readFileSync(path.resolve(actualPath), 'utf8');
|
|
139
|
+
({ goldenDiff, score, systest: systestOut } = await evaluate({
|
|
140
|
+
caseSpec, actualXml, goldenXml, build, systest, goldenPrefix, actualPrefix,
|
|
141
|
+
}));
|
|
142
|
+
generatedArtifacts = [path.basename(actualPath)];
|
|
143
|
+
debugLabel = path.basename(goldenPath);
|
|
144
|
+
if (flagSet('--debug')) {
|
|
145
|
+
console.error('\n--- normalized actual ---\n' + renderNormalized(await normalizeAotXml(actualXml, caseSpec.ignore ?? [], actualPrefix)));
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
console.error(`# Oracle: ${caseId} (golden: ${debugLabel})`);
|
|
149
|
+
console.error(renderDiff(goldenDiff));
|
|
150
|
+
if (systestFile)
|
|
151
|
+
console.error(`SysTest: ran=${systestOut.ran} passed=${systestOut.passed} failures=${systestOut.failures.length}`);
|
|
152
|
+
console.error(`\nScore: ${JSON.stringify(score)}`);
|
|
153
|
+
if (flagSet('--write')) {
|
|
154
|
+
const classification = arg('--classification')
|
|
155
|
+
?? (score.build === 1 && score.golden_match === 1 ? (score.bp_clean === 1 ? 'PASS' : 'KNOWLEDGE_GAP') : 'TOOL_DEFECT');
|
|
156
|
+
const ts = new Date().toISOString().replace(/[:.]/g, '').slice(0, 13);
|
|
157
|
+
const sha = shortSha();
|
|
158
|
+
const record = {
|
|
159
|
+
run_id: `${ts}__${caseId}__${sha}`,
|
|
160
|
+
case_id: caseId,
|
|
161
|
+
tier: caseSpec.tier,
|
|
162
|
+
timestamp: new Date().toISOString(),
|
|
163
|
+
server_git_sha: sha,
|
|
164
|
+
generated_artifacts: generatedArtifacts,
|
|
165
|
+
build: { succeeded: build.succeeded, errors: [], bpWarnings: build.bpWarnings },
|
|
166
|
+
golden_diff: goldenDiff,
|
|
167
|
+
systest: systestOut,
|
|
168
|
+
score,
|
|
169
|
+
classification,
|
|
170
|
+
};
|
|
171
|
+
const outDir = path.join(REPO_ROOT, 'eval', 'corpus', 'runs');
|
|
172
|
+
const outFile = path.join(outDir, `${record.run_id}.json`);
|
|
173
|
+
fs.writeFileSync(outFile, JSON.stringify(record, null, 2) + '\n');
|
|
174
|
+
console.error(`\nWrote corpus record: ${path.relative(REPO_ROOT, outFile)}`);
|
|
175
|
+
}
|
|
176
|
+
process.exit(goldenDiff.matched && score.build === 1 ? 0 : 1);
|
|
177
|
+
}
|
|
178
|
+
main().catch(e => { console.error(e); process.exit(2); });
|
|
179
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/eval/oracle/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structural diff for the eval golden oracle. Compares two normalized
|
|
3
|
+
* `path → value` maps (see normalize.ts) and classifies each delta as
|
|
4
|
+
* missing / extra / changed, mirroring eval/corpus/schema.json `golden_diff`.
|
|
5
|
+
*/
|
|
6
|
+
export interface GoldenDiff {
|
|
7
|
+
matched: boolean;
|
|
8
|
+
/** Paths present in the golden but absent from the actual. */
|
|
9
|
+
missing: string[];
|
|
10
|
+
/** Paths present in the actual but absent from the golden. */
|
|
11
|
+
extra: string[];
|
|
12
|
+
/** Paths present in both with differing values. */
|
|
13
|
+
changed: Array<{
|
|
14
|
+
path: string;
|
|
15
|
+
expected: string;
|
|
16
|
+
actual: string;
|
|
17
|
+
}>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Diff a normalized actual against a normalized golden (expected).
|
|
21
|
+
* `expected` = the golden; `actual` = what the run produced.
|
|
22
|
+
*/
|
|
23
|
+
export declare function diffNormalized(expected: Map<string, string>, actual: Map<string, string>): GoldenDiff;
|
|
24
|
+
/** Render a GoldenDiff as a short human-readable report. */
|
|
25
|
+
export declare function renderDiff(d: GoldenDiff): string;
|
|
26
|
+
//# sourceMappingURL=diff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../src/eval/oracle/diff.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,mDAAmD;IACnD,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,UAAU,CA2BZ;AAED,4DAA4D;AAC5D,wBAAgB,UAAU,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAOhD"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structural diff for the eval golden oracle. Compares two normalized
|
|
3
|
+
* `path → value` maps (see normalize.ts) and classifies each delta as
|
|
4
|
+
* missing / extra / changed, mirroring eval/corpus/schema.json `golden_diff`.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Diff a normalized actual against a normalized golden (expected).
|
|
8
|
+
* `expected` = the golden; `actual` = what the run produced.
|
|
9
|
+
*/
|
|
10
|
+
export function diffNormalized(expected, actual) {
|
|
11
|
+
const missing = [];
|
|
12
|
+
const changed = [];
|
|
13
|
+
const extra = [];
|
|
14
|
+
for (const [path, expVal] of expected) {
|
|
15
|
+
if (!actual.has(path)) {
|
|
16
|
+
missing.push(path);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
const actVal = actual.get(path);
|
|
20
|
+
if (actVal !== expVal)
|
|
21
|
+
changed.push({ path, expected: expVal, actual: actVal });
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
for (const path of actual.keys()) {
|
|
25
|
+
if (!expected.has(path))
|
|
26
|
+
extra.push(path);
|
|
27
|
+
}
|
|
28
|
+
missing.sort();
|
|
29
|
+
extra.sort();
|
|
30
|
+
changed.sort((a, b) => a.path.localeCompare(b.path));
|
|
31
|
+
return {
|
|
32
|
+
matched: missing.length === 0 && extra.length === 0 && changed.length === 0,
|
|
33
|
+
missing,
|
|
34
|
+
extra,
|
|
35
|
+
changed,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/** Render a GoldenDiff as a short human-readable report. */
|
|
39
|
+
export function renderDiff(d) {
|
|
40
|
+
if (d.matched)
|
|
41
|
+
return '✅ golden match — no structural deltas.';
|
|
42
|
+
const lines = [`❌ golden mismatch — ${d.missing.length} missing, ${d.extra.length} extra, ${d.changed.length} changed.`];
|
|
43
|
+
for (const p of d.missing)
|
|
44
|
+
lines.push(` − missing: ${p}`);
|
|
45
|
+
for (const p of d.extra)
|
|
46
|
+
lines.push(` + extra: ${p}`);
|
|
47
|
+
for (const c of d.changed)
|
|
48
|
+
lines.push(` ~ changed: ${c.path} (golden="${c.expected}" actual="${c.actual}")`);
|
|
49
|
+
return lines.join('\n');
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=diff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/eval/oracle/diff.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,QAA6B,EAC7B,MAA2B;IAE3B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAA0B,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;YACjC,IAAI,MAAM,KAAK,MAAM;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,KAAK,CAAC,IAAI,EAAE,CAAC;IACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAErD,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAC3E,OAAO;QACP,KAAK;QACL,OAAO;KACR,CAAC;AACJ,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,UAAU,CAAC,CAAa;IACtC,IAAI,CAAC,CAAC,OAAO;QAAE,OAAO,wCAAwC,CAAC;IAC/D,MAAM,KAAK,GAAa,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,MAAM,aAAa,CAAC,CAAC,KAAK,CAAC,MAAM,WAAW,CAAC,CAAC,OAAO,CAAC,MAAM,WAAW,CAAC,CAAC;IACnI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACzD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,QAAQ,aAAa,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;IAC/G,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Eval golden oracle — orchestrator.
|
|
3
|
+
*
|
|
4
|
+
* Given a case spec, the actual produced XML, the golden XML, and the build
|
|
5
|
+
* result, compute the structural golden diff and the scorecard. VM-free: this is
|
|
6
|
+
* the piece the improver/CI runs without the D365FO platform.
|
|
7
|
+
*/
|
|
8
|
+
import { type GoldenDiff } from './diff.js';
|
|
9
|
+
import { type BuildResult, type Score } from './score.js';
|
|
10
|
+
import { type SysTestResult } from './systest.js';
|
|
11
|
+
export { normalizeAotXml, normalizeMultiArtifact, renderNormalized, globToRegExp, GOLDEN_CAPTURE_PREFIX, canonicalizePrefix, } from './normalize.js';
|
|
12
|
+
export { diffNormalized, renderDiff, type GoldenDiff } from './diff.js';
|
|
13
|
+
export { scoreRun, type Score, type BuildResult, type ScoreInput } from './score.js';
|
|
14
|
+
export { parseSysTestResult, type SysTestResult, type SysTestFailure } from './systest.js';
|
|
15
|
+
export interface CaseSpec {
|
|
16
|
+
id: string;
|
|
17
|
+
tier: number;
|
|
18
|
+
ignore?: string[];
|
|
19
|
+
}
|
|
20
|
+
export interface EvaluateInput {
|
|
21
|
+
caseSpec: CaseSpec;
|
|
22
|
+
actualXml: string;
|
|
23
|
+
goldenXml: string;
|
|
24
|
+
build: BuildResult;
|
|
25
|
+
/** Runtime-oracle result (e.g. from parseSysTestResult); omit when the case has no SysTest. */
|
|
26
|
+
systest?: SysTestResult | {
|
|
27
|
+
passed: boolean | null;
|
|
28
|
+
} | null;
|
|
29
|
+
/**
|
|
30
|
+
* EXTENSION_PREFIX the golden was captured under, to canonicalise away
|
|
31
|
+
* before comparing (docs/AGENT_EVAL_LOOP.md §6.2). Pass
|
|
32
|
+
* `GOLDEN_CAPTURE_PREFIX` for the committed `eval/goldens/` corpus. Defaults
|
|
33
|
+
* to '' (no canonicalisation — legacy literal-string comparison), so
|
|
34
|
+
* existing callers that don't pass one are unaffected.
|
|
35
|
+
*/
|
|
36
|
+
goldenPrefix?: string;
|
|
37
|
+
/**
|
|
38
|
+
* EXTENSION_PREFIX the actual artifact was produced under (the CURRENT
|
|
39
|
+
* session's configured prefix — see
|
|
40
|
+
* `resolveRegularObjectPrefixToken()` in src/utils/modelClassifier.ts).
|
|
41
|
+
* Defaults to '' (no canonicalisation), so callers that don't know/care
|
|
42
|
+
* about prefix drift keep the legacy literal-string comparison.
|
|
43
|
+
*/
|
|
44
|
+
actualPrefix?: string;
|
|
45
|
+
}
|
|
46
|
+
export interface EvaluateResult {
|
|
47
|
+
goldenDiff: GoldenDiff;
|
|
48
|
+
score: Score;
|
|
49
|
+
/** Echoed runtime result for the corpus record, when a SysTest was supplied. */
|
|
50
|
+
systest: SysTestResult | {
|
|
51
|
+
ran: false;
|
|
52
|
+
passed: null;
|
|
53
|
+
failures: [];
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
export declare function evaluate(input: EvaluateInput): Promise<EvaluateResult>;
|
|
57
|
+
export interface EvaluateMultiInput {
|
|
58
|
+
caseSpec: CaseSpec;
|
|
59
|
+
/** filename → produced XML, e.g. { "MyContract.metadata.xml": "<AxClass>..." } */
|
|
60
|
+
actualArtifacts: Record<string, string>;
|
|
61
|
+
/** filename → golden XML, same keys expected (a missing/extra key shows up in the diff). */
|
|
62
|
+
goldenArtifacts: Record<string, string>;
|
|
63
|
+
build: BuildResult;
|
|
64
|
+
systest?: SysTestResult | {
|
|
65
|
+
passed: boolean | null;
|
|
66
|
+
} | null;
|
|
67
|
+
/** See EvaluateInput.goldenPrefix. */
|
|
68
|
+
goldenPrefix?: string;
|
|
69
|
+
/** See EvaluateInput.actualPrefix. */
|
|
70
|
+
actualPrefix?: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Multi-artifact variant of `evaluate` for L3/L4 cases that produce several
|
|
74
|
+
* objects (e.g. a SysOperation's Contract + DP + Controller, or a data entity +
|
|
75
|
+
* its security chain). Each artifact's normalized paths are prefixed with
|
|
76
|
+
* `<filename>::` and merged into one combined map, then diffed/scored with the
|
|
77
|
+
* same single-document machinery — a wholly missing or extra artifact shows up
|
|
78
|
+
* as every one of its paths being missing/extra under that prefix.
|
|
79
|
+
*/
|
|
80
|
+
export declare function evaluateMulti(input: EvaluateMultiInput): Promise<EvaluateResult>;
|
|
81
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/eval/oracle/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAY,KAAK,WAAW,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EACL,eAAe,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,YAAY,EACvE,qBAAqB,EAAE,kBAAkB,GAC1C,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,KAAK,KAAK,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAE3F,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,WAAW,CAAC;IACnB,+FAA+F;IAC/F,OAAO,CAAC,EAAE,aAAa,GAAG;QAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5D;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,gFAAgF;IAChF,OAAO,EAAE,aAAa,GAAG;QAAE,GAAG,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,EAAE,CAAA;KAAE,CAAC;CACrE;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAe5E;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,QAAQ,CAAC;IACnB,kFAAkF;IAClF,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,4FAA4F;IAC5F,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,aAAa,GAAG;QAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5D,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,CAetF"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Eval golden oracle — orchestrator.
|
|
3
|
+
*
|
|
4
|
+
* Given a case spec, the actual produced XML, the golden XML, and the build
|
|
5
|
+
* result, compute the structural golden diff and the scorecard. VM-free: this is
|
|
6
|
+
* the piece the improver/CI runs without the D365FO platform.
|
|
7
|
+
*/
|
|
8
|
+
import { normalizeAotXml, normalizeMultiArtifact } from './normalize.js';
|
|
9
|
+
import { diffNormalized } from './diff.js';
|
|
10
|
+
import { scoreRun } from './score.js';
|
|
11
|
+
export { normalizeAotXml, normalizeMultiArtifact, renderNormalized, globToRegExp, GOLDEN_CAPTURE_PREFIX, canonicalizePrefix, } from './normalize.js';
|
|
12
|
+
export { diffNormalized, renderDiff } from './diff.js';
|
|
13
|
+
export { scoreRun } from './score.js';
|
|
14
|
+
export { parseSysTestResult } from './systest.js';
|
|
15
|
+
export async function evaluate(input) {
|
|
16
|
+
const { caseSpec, actualXml, goldenXml, build, systest } = input;
|
|
17
|
+
const goldenPrefix = input.goldenPrefix ?? '';
|
|
18
|
+
const actualPrefix = input.actualPrefix ?? '';
|
|
19
|
+
const ignore = caseSpec.ignore ?? [];
|
|
20
|
+
const [expected, actual] = await Promise.all([
|
|
21
|
+
normalizeAotXml(goldenXml, ignore, goldenPrefix),
|
|
22
|
+
normalizeAotXml(actualXml, ignore, actualPrefix),
|
|
23
|
+
]);
|
|
24
|
+
const goldenDiff = diffNormalized(expected, actual);
|
|
25
|
+
const score = scoreRun({ build, goldenDiff, tier: caseSpec.tier, systest });
|
|
26
|
+
const systestOut = systest && 'ran' in systest
|
|
27
|
+
? systest
|
|
28
|
+
: { ran: false, passed: null, failures: [] };
|
|
29
|
+
return { goldenDiff, score, systest: systestOut };
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Multi-artifact variant of `evaluate` for L3/L4 cases that produce several
|
|
33
|
+
* objects (e.g. a SysOperation's Contract + DP + Controller, or a data entity +
|
|
34
|
+
* its security chain). Each artifact's normalized paths are prefixed with
|
|
35
|
+
* `<filename>::` and merged into one combined map, then diffed/scored with the
|
|
36
|
+
* same single-document machinery — a wholly missing or extra artifact shows up
|
|
37
|
+
* as every one of its paths being missing/extra under that prefix.
|
|
38
|
+
*/
|
|
39
|
+
export async function evaluateMulti(input) {
|
|
40
|
+
const { caseSpec, actualArtifacts, goldenArtifacts, build, systest } = input;
|
|
41
|
+
const goldenPrefix = input.goldenPrefix ?? '';
|
|
42
|
+
const actualPrefix = input.actualPrefix ?? '';
|
|
43
|
+
const ignore = caseSpec.ignore ?? [];
|
|
44
|
+
const [expected, actual] = await Promise.all([
|
|
45
|
+
normalizeMultiArtifact(goldenArtifacts, ignore, goldenPrefix),
|
|
46
|
+
normalizeMultiArtifact(actualArtifacts, ignore, actualPrefix),
|
|
47
|
+
]);
|
|
48
|
+
const goldenDiff = diffNormalized(expected, actual);
|
|
49
|
+
const score = scoreRun({ build, goldenDiff, tier: caseSpec.tier, systest });
|
|
50
|
+
const systestOut = systest && 'ran' in systest
|
|
51
|
+
? systest
|
|
52
|
+
: { ran: false, passed: null, failures: [] };
|
|
53
|
+
return { goldenDiff, score, systest: systestOut };
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/eval/oracle/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AOT XML normalizer for the eval golden oracle.
|
|
3
|
+
*
|
|
4
|
+
* Flattens an AOT metadata XML document into a stable `path → value` map so two
|
|
5
|
+
* documents can be diffed structurally (not textually). Key properties:
|
|
6
|
+
*
|
|
7
|
+
* - Collection members (AxTableField, AxEnumValue, AxTableFieldGroup, …) are
|
|
8
|
+
* keyed by their `<Name>`/`<DataField>` rather than position, so reordering an
|
|
9
|
+
* unordered collection does not register as a diff.
|
|
10
|
+
* - Volatile nodes (`ModelSaveInfo`, `@Id`) and any per-case `ignore` globs are
|
|
11
|
+
* stripped before the map is built.
|
|
12
|
+
* - Attributes are included (notably `i:type`, which carries a field's base type
|
|
13
|
+
* e.g. AxTableFieldInt vs AxTableFieldString) under `@type` etc.
|
|
14
|
+
*
|
|
15
|
+
* See docs/AGENT_EVAL_LOOP.md §6.2.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* The EXTENSION_PREFIX in effect when the committed `eval/goldens/` corpus was
|
|
19
|
+
* authored (docs/AGENT_EVAL_LOOP.md §6.4). A golden's root object Name (and any
|
|
20
|
+
* other prefixed identifier baked into it, e.g. an extension's added field
|
|
21
|
+
* DataField, or a dot-notation extension suffix) is a literal string captured
|
|
22
|
+
* under THIS prefix — it is not re-derived per run.
|
|
23
|
+
*
|
|
24
|
+
* A later eval run is free to configure ANY EXTENSION_PREFIX for its sandbox
|
|
25
|
+
* session (e.g. "Demo") — `d365fo_file`/`generate_object` correctly apply the
|
|
26
|
+
* CURRENT session's prefix to every new object per their documented contract
|
|
27
|
+
* (src/utils/modelClassifier.ts). An object named "DemoXyzNoteSubject" and a
|
|
28
|
+
* golden named "ContosoXyzNoteSubject" describe the SAME object under two
|
|
29
|
+
* different prefix sessions — that is not a semantic difference, and must not
|
|
30
|
+
* fail `golden_match` (see the corpus record that surfaced this:
|
|
31
|
+
* eval/corpus/runs/2026-07-06T10__L0-edt-basic__4fafcd8.json).
|
|
32
|
+
*/
|
|
33
|
+
export declare const GOLDEN_CAPTURE_PREFIX = "Contoso";
|
|
34
|
+
/**
|
|
35
|
+
* Canonicalise occurrences of `prefix` — the model-naming EXTENSION_PREFIX in
|
|
36
|
+
* effect for THIS document (the golden's fixed capture-time prefix, or the
|
|
37
|
+
* actual's current session-configured prefix) — into a stable placeholder, so
|
|
38
|
+
* a value/key built under one prefix session compares equal to the same
|
|
39
|
+
* value/key built under a different one.
|
|
40
|
+
*
|
|
41
|
+
* Matches are anchored at an identifier-start boundary (string start, or
|
|
42
|
+
* immediately after a non-alphanumeric character — `.`, `(`, `,`, `_`,
|
|
43
|
+
* whitespace, …) AND require the prefix to be immediately followed by an
|
|
44
|
+
* uppercase letter (the PascalCase continuation of the object's own name,
|
|
45
|
+
* e.g. `ContosoXyzNoteSubject`, `CustGroup.ContosoExtension`, `classStr(ContosoXyzNoteSubject)`).
|
|
46
|
+
* This keeps the substitution narrow: an incidental occurrence of the prefix
|
|
47
|
+
* text inside unrelated free-form content (e.g. a label) is left alone.
|
|
48
|
+
*/
|
|
49
|
+
export declare function canonicalizePrefix(value: string, prefix: string): string;
|
|
50
|
+
/** Compile a path glob (`**`, `*`, literal) to an anchored RegExp. */
|
|
51
|
+
export declare function globToRegExp(glob: string): RegExp;
|
|
52
|
+
/**
|
|
53
|
+
* Normalise an AOT XML document into a sorted `path → value` map. `ignore` is the
|
|
54
|
+
* per-case glob list from the case spec; built-in ignores are always applied.
|
|
55
|
+
*
|
|
56
|
+
* `prefix` is the EXTENSION_PREFIX in effect for THIS document — pass
|
|
57
|
+
* `GOLDEN_CAPTURE_PREFIX` when normalising a committed golden, and the
|
|
58
|
+
* CURRENT session's configured prefix (e.g. via
|
|
59
|
+
* `resolveRegularObjectPrefixToken()` from src/utils/modelClassifier.ts) when
|
|
60
|
+
* normalising an actual produced artifact — so a prefixed identifier
|
|
61
|
+
* canonicalises to the same placeholder on both sides regardless of which
|
|
62
|
+
* EXTENSION_PREFIX session produced it (see `canonicalizePrefix` above).
|
|
63
|
+
* Defaults to '' (no canonicalisation — legacy literal-string comparison)
|
|
64
|
+
* for callers that don't pass one.
|
|
65
|
+
*/
|
|
66
|
+
export declare function normalizeAotXml(xml: string, ignore?: string[], prefix?: string): Promise<Map<string, string>>;
|
|
67
|
+
/** Render a normalized map as a stable, human-readable string (for snapshots/logs). */
|
|
68
|
+
export declare function renderNormalized(map: Map<string, string>): string;
|
|
69
|
+
/**
|
|
70
|
+
* Normalise a SET of artifacts (L3/L4 cases that produce several objects, e.g.
|
|
71
|
+
* a SysOperation's Contract + DP + Controller) into ONE combined `path → value`
|
|
72
|
+
* map, each artifact's paths prefixed with `<filename>::`. This lets the
|
|
73
|
+
* existing single-document diff/score machinery (diffNormalized, scoreRun)
|
|
74
|
+
* handle multi-artifact cases unchanged: an entirely missing/extra artifact
|
|
75
|
+
* just shows up as every one of its paths being missing/extra, prefixed.
|
|
76
|
+
*
|
|
77
|
+
* `artifacts` keys are filenames (e.g. "MyContract.metadata.xml") — stable,
|
|
78
|
+
* case-author-chosen identifiers, not full paths. The filename itself is
|
|
79
|
+
* typically the prefixed object name (e.g. "ContosoMyContract.metadata.xml"), so
|
|
80
|
+
* it is canonicalised with `prefix` too (see `normalizeAotXml`) — otherwise a
|
|
81
|
+
* golden captured under one prefix and an actual produced under another would
|
|
82
|
+
* combine under different `<filename>::` keys and false-mismatch wholesale.
|
|
83
|
+
*/
|
|
84
|
+
export declare function normalizeMultiArtifact(artifacts: Record<string, string>, ignore?: string[], prefix?: string): Promise<Map<string, string>>;
|
|
85
|
+
//# sourceMappingURL=normalize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../src/eval/oracle/normalize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAYH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,qBAAqB,YAAY,CAAC;AAU/C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAIxE;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmBjD;AA+KD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAM,EAAO,EACrB,MAAM,SAAK,GACV,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAkB9B;AAED,uFAAuF;AACvF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAEjE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,MAAM,GAAE,MAAM,EAAO,EACrB,MAAM,SAAK,GACV,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAQ9B"}
|