@archpilotlabs/archpilot 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/dist/archpilot-cli.js +516 -105
  2. package/dist/cli/src/archpilot-cli.js +5523 -0
  3. package/dist/cli/src/archpilot-cli.js.map +1 -0
  4. package/dist/core/src/adr/adrLoader.js +97 -0
  5. package/dist/core/src/adr/adrLoader.js.map +1 -0
  6. package/dist/core/src/adr/adrParser.js +77 -0
  7. package/dist/core/src/adr/adrParser.js.map +1 -0
  8. package/dist/core/src/adr/adrTemplate.js +45 -0
  9. package/dist/core/src/adr/adrTemplate.js.map +1 -0
  10. package/dist/core/src/adr/adrTypes.js +3 -0
  11. package/dist/core/src/adr/adrTypes.js.map +1 -0
  12. package/dist/core/src/adr/adrValidation.js +160 -0
  13. package/dist/core/src/adr/adrValidation.js.map +1 -0
  14. package/dist/core/src/adr/index.js +9 -0
  15. package/dist/core/src/adr/index.js.map +1 -0
  16. package/dist/core/src/adrManagement.js +174 -0
  17. package/dist/core/src/adrManagement.js.map +1 -0
  18. package/dist/core/src/adrRequirementStatus.js +62 -0
  19. package/dist/core/src/adrRequirementStatus.js.map +1 -0
  20. package/dist/core/src/adrScaffoldGeneration.js +325 -0
  21. package/dist/core/src/adrScaffoldGeneration.js.map +1 -0
  22. package/dist/core/src/apiDesignAnalysis.js +869 -0
  23. package/dist/core/src/apiDesignAnalysis.js.map +1 -0
  24. package/dist/core/src/applicationLayeringAnalysis.js +920 -0
  25. package/dist/core/src/applicationLayeringAnalysis.js.map +1 -0
  26. package/dist/core/src/applyRulePack.js +117 -0
  27. package/dist/core/src/applyRulePack.js.map +1 -0
  28. package/dist/core/src/architectureBaseline.js +271 -0
  29. package/dist/core/src/architectureBaseline.js.map +1 -0
  30. package/dist/core/src/architectureComponentDiscoveryDefaults.js +139 -0
  31. package/dist/core/src/architectureComponentDiscoveryDefaults.js.map +1 -0
  32. package/dist/core/src/architectureDependencyContext.js +316 -0
  33. package/dist/core/src/architectureDependencyContext.js.map +1 -0
  34. package/dist/core/src/architectureDriftDetection.js +96 -0
  35. package/dist/core/src/architectureDriftDetection.js.map +1 -0
  36. package/dist/core/src/architectureDriftTimeline.js +221 -0
  37. package/dist/core/src/architectureDriftTimeline.js.map +1 -0
  38. package/dist/core/src/architectureGovernanceBaseline.js +469 -0
  39. package/dist/core/src/architectureGovernanceBaseline.js.map +1 -0
  40. package/dist/core/src/architectureHealthHistory.js +208 -0
  41. package/dist/core/src/architectureHealthHistory.js.map +1 -0
  42. package/dist/core/src/architectureHealthScore.js +657 -0
  43. package/dist/core/src/architectureHealthScore.js.map +1 -0
  44. package/dist/core/src/architectureInit.js +826 -0
  45. package/dist/core/src/architectureInit.js.map +1 -0
  46. package/dist/core/src/architectureMap.js +727 -0
  47. package/dist/core/src/architectureMap.js.map +1 -0
  48. package/dist/core/src/architectureMigrationPreview.js +467 -0
  49. package/dist/core/src/architectureMigrationPreview.js.map +1 -0
  50. package/dist/core/src/architectureModelRefresh.js +209 -0
  51. package/dist/core/src/architectureModelRefresh.js.map +1 -0
  52. package/dist/core/src/architectureReportWorkflow.js +139 -0
  53. package/dist/core/src/architectureReportWorkflow.js.map +1 -0
  54. package/dist/core/src/architectureValidation.js +3879 -0
  55. package/dist/core/src/architectureValidation.js.map +1 -0
  56. package/dist/core/src/architectureWorkspaceModel.js +166 -0
  57. package/dist/core/src/architectureWorkspaceModel.js.map +1 -0
  58. package/dist/core/src/authorizationTenantAnalysis.js +652 -0
  59. package/dist/core/src/authorizationTenantAnalysis.js.map +1 -0
  60. package/dist/core/src/bootstrapArchitectureConfig.js +150 -0
  61. package/dist/core/src/bootstrapArchitectureConfig.js.map +1 -0
  62. package/dist/core/src/changeRisk/changeRiskAssessment.js +251 -0
  63. package/dist/core/src/changeRisk/changeRiskAssessment.js.map +1 -0
  64. package/dist/core/src/changeRisk/changeRiskTypes.js +3 -0
  65. package/dist/core/src/changeRisk/changeRiskTypes.js.map +1 -0
  66. package/dist/core/src/changeRisk/index.js +6 -0
  67. package/dist/core/src/changeRisk/index.js.map +1 -0
  68. package/dist/core/src/ci/githubInlineAnnotations.js +245 -0
  69. package/dist/core/src/ci/githubInlineAnnotations.js.map +1 -0
  70. package/dist/core/src/ci/githubPrCommentAdapter.js +232 -0
  71. package/dist/core/src/ci/githubPrCommentAdapter.js.map +1 -0
  72. package/dist/core/src/ciWorkflowTemplates.js +1042 -0
  73. package/dist/core/src/ciWorkflowTemplates.js.map +1 -0
  74. package/dist/core/src/compliance/complianceExportBuilder.js +122 -0
  75. package/dist/core/src/compliance/complianceExportBuilder.js.map +1 -0
  76. package/dist/core/src/compliance/complianceExportTypes.js +3 -0
  77. package/dist/core/src/compliance/complianceExportTypes.js.map +1 -0
  78. package/dist/core/src/compliance/complianceExportWriter.js +48 -0
  79. package/dist/core/src/compliance/complianceExportWriter.js.map +1 -0
  80. package/dist/core/src/compliance/complianceRulePackResolver.js +62 -0
  81. package/dist/core/src/compliance/complianceRulePackResolver.js.map +1 -0
  82. package/dist/core/src/config/index.js +17 -0
  83. package/dist/core/src/config/index.js.map +1 -0
  84. package/dist/core/src/config/projectConfig.js +224 -0
  85. package/dist/core/src/config/projectConfig.js.map +1 -0
  86. package/dist/core/src/config/projectIdentity.js +160 -0
  87. package/dist/core/src/config/projectIdentity.js.map +1 -0
  88. package/dist/core/src/dataQueryRiskDetection.js +1203 -0
  89. package/dist/core/src/dataQueryRiskDetection.js.map +1 -0
  90. package/dist/core/src/dependencyValidation.js +2557 -0
  91. package/dist/core/src/dependencyValidation.js.map +1 -0
  92. package/dist/core/src/discoverAdrs.js +15 -0
  93. package/dist/core/src/discoverAdrs.js.map +1 -0
  94. package/dist/core/src/drift/driftComparator.js +49 -0
  95. package/dist/core/src/drift/driftComparator.js.map +1 -0
  96. package/dist/core/src/drift/driftSnapshotLoader.js +136 -0
  97. package/dist/core/src/drift/driftSnapshotLoader.js.map +1 -0
  98. package/dist/core/src/drift/driftSnapshotTypes.js +3 -0
  99. package/dist/core/src/drift/driftSnapshotTypes.js.map +1 -0
  100. package/dist/core/src/drift/driftSnapshotWriter.js +48 -0
  101. package/dist/core/src/drift/driftSnapshotWriter.js.map +1 -0
  102. package/dist/core/src/drift/index.js +6 -0
  103. package/dist/core/src/drift/index.js.map +1 -0
  104. package/dist/core/src/eventArchitectureAnalysis.js +925 -0
  105. package/dist/core/src/eventArchitectureAnalysis.js.map +1 -0
  106. package/dist/core/src/findingTargetResolution.js +117 -0
  107. package/dist/core/src/findingTargetResolution.js.map +1 -0
  108. package/dist/core/src/generateArchitectureDiagrams.js +57 -0
  109. package/dist/core/src/generateArchitectureDiagrams.js.map +1 -0
  110. package/dist/core/src/generateImpactAnalysis.js +366 -0
  111. package/dist/core/src/generateImpactAnalysis.js.map +1 -0
  112. package/dist/core/src/generateOnboardingDocs.js +262 -0
  113. package/dist/core/src/generateOnboardingDocs.js.map +1 -0
  114. package/dist/core/src/governance/cloudConnection.js +203 -0
  115. package/dist/core/src/governance/cloudConnection.js.map +1 -0
  116. package/dist/core/src/governance/governanceContracts.js +129 -0
  117. package/dist/core/src/governance/governanceContracts.js.map +1 -0
  118. package/dist/core/src/governance/governanceGitMetadata.js +78 -0
  119. package/dist/core/src/governance/governanceGitMetadata.js.map +1 -0
  120. package/dist/core/src/governance/governanceUploadClient.js +119 -0
  121. package/dist/core/src/governance/governanceUploadClient.js.map +1 -0
  122. package/dist/core/src/governance/governanceUploadLimitErrorFormatting.js +155 -0
  123. package/dist/core/src/governance/governanceUploadLimitErrorFormatting.js.map +1 -0
  124. package/dist/core/src/governance/governanceUploadPayload.js +439 -0
  125. package/dist/core/src/governance/governanceUploadPayload.js.map +1 -0
  126. package/dist/core/src/governance/runGovernanceUpload.js +103 -0
  127. package/dist/core/src/governance/runGovernanceUpload.js.map +1 -0
  128. package/dist/core/src/impactAnalysisEngine.js +376 -0
  129. package/dist/core/src/impactAnalysisEngine.js.map +1 -0
  130. package/dist/core/src/initializationState.js +99 -0
  131. package/dist/core/src/initializationState.js.map +1 -0
  132. package/dist/core/src/managedArtifacts.js +151 -0
  133. package/dist/core/src/managedArtifacts.js.map +1 -0
  134. package/dist/core/src/moduleContractValidation.js +266 -0
  135. package/dist/core/src/moduleContractValidation.js.map +1 -0
  136. package/dist/core/src/moduleContractsGenerator.js +337 -0
  137. package/dist/core/src/moduleContractsGenerator.js.map +1 -0
  138. package/dist/core/src/moduleDiscovery.js +416 -0
  139. package/dist/core/src/moduleDiscovery.js.map +1 -0
  140. package/dist/core/src/moduleScope.js +426 -0
  141. package/dist/core/src/moduleScope.js.map +1 -0
  142. package/dist/core/src/onboardingGuidance.js +74 -0
  143. package/dist/core/src/onboardingGuidance.js.map +1 -0
  144. package/dist/core/src/operationalLogging.js +7 -0
  145. package/dist/core/src/operationalLogging.js.map +1 -0
  146. package/dist/core/src/packageVersion.js +52 -0
  147. package/dist/core/src/packageVersion.js.map +1 -0
  148. package/dist/core/src/policy/effectivePolicyResolver.js +91 -0
  149. package/dist/core/src/policy/effectivePolicyResolver.js.map +1 -0
  150. package/dist/core/src/policy/exceptionLoader.js +285 -0
  151. package/dist/core/src/policy/exceptionLoader.js.map +1 -0
  152. package/dist/core/src/policy/remotePolicyLoader.js +227 -0
  153. package/dist/core/src/policy/remotePolicyLoader.js.map +1 -0
  154. package/dist/core/src/policy/remotePolicyTypes.js +3 -0
  155. package/dist/core/src/policy/remotePolicyTypes.js.map +1 -0
  156. package/dist/core/src/policy/riskPolicyConfig.js +206 -0
  157. package/dist/core/src/policy/riskPolicyConfig.js.map +1 -0
  158. package/dist/core/src/policy/riskPolicyEnforcement.js +203 -0
  159. package/dist/core/src/policy/riskPolicyEnforcement.js.map +1 -0
  160. package/dist/core/src/policy/riskPolicyExitCode.js +16 -0
  161. package/dist/core/src/policy/riskPolicyExitCode.js.map +1 -0
  162. package/dist/core/src/policy/riskPolicyInitializer.js +90 -0
  163. package/dist/core/src/policy/riskPolicyInitializer.js.map +1 -0
  164. package/dist/core/src/quickFix/quickFixEngine.js +132 -0
  165. package/dist/core/src/quickFix/quickFixEngine.js.map +1 -0
  166. package/dist/core/src/quickFix/quickFixMessaging.js +15 -0
  167. package/dist/core/src/quickFix/quickFixMessaging.js.map +1 -0
  168. package/dist/core/src/quickFix/quickFixProviders.js +87 -0
  169. package/dist/core/src/quickFix/quickFixProviders.js.map +1 -0
  170. package/dist/core/src/quickFix/quickFixTypes.js +3 -0
  171. package/dist/core/src/quickFix/quickFixTypes.js.map +1 -0
  172. package/dist/core/src/remediation/fileHelpers.js +86 -0
  173. package/dist/core/src/remediation/fileHelpers.js.map +1 -0
  174. package/dist/core/src/remediation/fixRegistry.js +645 -0
  175. package/dist/core/src/remediation/fixRegistry.js.map +1 -0
  176. package/dist/core/src/remediation/index.js +8 -0
  177. package/dist/core/src/remediation/index.js.map +1 -0
  178. package/dist/core/src/remediation/remediationEngine.js +207 -0
  179. package/dist/core/src/remediation/remediationEngine.js.map +1 -0
  180. package/dist/core/src/reporting/adrReporter.js +59 -0
  181. package/dist/core/src/reporting/adrReporter.js.map +1 -0
  182. package/dist/core/src/reporting/architectureBaselineReporter.js +64 -0
  183. package/dist/core/src/reporting/architectureBaselineReporter.js.map +1 -0
  184. package/dist/core/src/reporting/architectureDiagramReporter.js +148 -0
  185. package/dist/core/src/reporting/architectureDiagramReporter.js.map +1 -0
  186. package/dist/core/src/reporting/architectureDriftTimelineReporter.js +44 -0
  187. package/dist/core/src/reporting/architectureDriftTimelineReporter.js.map +1 -0
  188. package/dist/core/src/reporting/architectureHealthHistoryReporter.js +51 -0
  189. package/dist/core/src/reporting/architectureHealthHistoryReporter.js.map +1 -0
  190. package/dist/core/src/reporting/architectureMapReporter.js +228 -0
  191. package/dist/core/src/reporting/architectureMapReporter.js.map +1 -0
  192. package/dist/core/src/reporting/architecturePrCommentReporter.js +324 -0
  193. package/dist/core/src/reporting/architecturePrCommentReporter.js.map +1 -0
  194. package/dist/core/src/reporting/architecturePrReviewReporter.js +389 -0
  195. package/dist/core/src/reporting/architecturePrReviewReporter.js.map +1 -0
  196. package/dist/core/src/reporting/architectureReportArtifacts.js +166 -0
  197. package/dist/core/src/reporting/architectureReportArtifacts.js.map +1 -0
  198. package/dist/core/src/reporting/architectureReviewReportGenerator.js +382 -0
  199. package/dist/core/src/reporting/architectureReviewReportGenerator.js.map +1 -0
  200. package/dist/core/src/reporting/architectureReviewReporter.js +1633 -0
  201. package/dist/core/src/reporting/architectureReviewReporter.js.map +1 -0
  202. package/dist/core/src/reporting/architectureRiskAssessment.js +101 -0
  203. package/dist/core/src/reporting/architectureRiskAssessment.js.map +1 -0
  204. package/dist/core/src/reporting/architectureScoreBadge.js +177 -0
  205. package/dist/core/src/reporting/architectureScoreBadge.js.map +1 -0
  206. package/dist/core/src/reporting/architectureSupplementalReporters.js +124 -0
  207. package/dist/core/src/reporting/architectureSupplementalReporters.js.map +1 -0
  208. package/dist/core/src/reporting/changeRiskAssessment.js +6 -0
  209. package/dist/core/src/reporting/changeRiskAssessment.js.map +1 -0
  210. package/dist/core/src/reporting/changeRiskTypes.js +3 -0
  211. package/dist/core/src/reporting/changeRiskTypes.js.map +1 -0
  212. package/dist/core/src/reporting/impactAnalysisReporter.js +111 -0
  213. package/dist/core/src/reporting/impactAnalysisReporter.js.map +1 -0
  214. package/dist/core/src/reporting/onboardingDocsReporter.js +113 -0
  215. package/dist/core/src/reporting/onboardingDocsReporter.js.map +1 -0
  216. package/dist/core/src/reporting/rulePackReporter.js +61 -0
  217. package/dist/core/src/reporting/rulePackReporter.js.map +1 -0
  218. package/dist/core/src/reporting/safetyControlsDetection.js +343 -0
  219. package/dist/core/src/reporting/safetyControlsDetection.js.map +1 -0
  220. package/dist/core/src/resolveRuleAdrs.js +31 -0
  221. package/dist/core/src/resolveRuleAdrs.js.map +1 -0
  222. package/dist/core/src/reviewGenerationWorkflow.js +220 -0
  223. package/dist/core/src/reviewGenerationWorkflow.js.map +1 -0
  224. package/dist/core/src/rulePacks/index.js +17 -0
  225. package/dist/core/src/rulePacks/index.js.map +1 -0
  226. package/dist/core/src/rulePacks/layeredMonolithRulePack.js +45 -0
  227. package/dist/core/src/rulePacks/layeredMonolithRulePack.js.map +1 -0
  228. package/dist/core/src/rulePacks/modularMonolithRulePack.js +41 -0
  229. package/dist/core/src/rulePacks/modularMonolithRulePack.js.map +1 -0
  230. package/dist/core/src/rulePacks/types.js +3 -0
  231. package/dist/core/src/rulePacks/types.js.map +1 -0
  232. package/dist/core/src/setupNextSteps.js +939 -0
  233. package/dist/core/src/setupNextSteps.js.map +1 -0
  234. package/dist/core/src/setupRefresh.js +152 -0
  235. package/dist/core/src/setupRefresh.js.map +1 -0
  236. package/dist/core/src/smartInit/apiDbHintDetection.js +836 -0
  237. package/dist/core/src/smartInit/apiDbHintDetection.js.map +1 -0
  238. package/dist/core/src/smartInit/architectureProposalBuilder.js +1215 -0
  239. package/dist/core/src/smartInit/architectureProposalBuilder.js.map +1 -0
  240. package/dist/core/src/smartInit/architectureStyleDetection.js +472 -0
  241. package/dist/core/src/smartInit/architectureStyleDetection.js.map +1 -0
  242. package/dist/core/src/smartInit/archpilotIgnore.js +139 -0
  243. package/dist/core/src/smartInit/archpilotIgnore.js.map +1 -0
  244. package/dist/core/src/smartInit/componentDetection.js +1084 -0
  245. package/dist/core/src/smartInit/componentDetection.js.map +1 -0
  246. package/dist/core/src/smartInit/implementationProfileResolution.js +53 -0
  247. package/dist/core/src/smartInit/implementationProfileResolution.js.map +1 -0
  248. package/dist/core/src/smartInit/index.js +31 -0
  249. package/dist/core/src/smartInit/index.js.map +1 -0
  250. package/dist/core/src/smartInit/moduleDetection.js +982 -0
  251. package/dist/core/src/smartInit/moduleDetection.js.map +1 -0
  252. package/dist/core/src/smartInit/projectKindDetection.js +437 -0
  253. package/dist/core/src/smartInit/projectKindDetection.js.map +1 -0
  254. package/dist/core/src/smartInit/repoTopologyDetection.js +470 -0
  255. package/dist/core/src/smartInit/repoTopologyDetection.js.map +1 -0
  256. package/dist/core/src/smartInit/runContext.js +112 -0
  257. package/dist/core/src/smartInit/runContext.js.map +1 -0
  258. package/dist/core/src/smartInit/smartInitEngine.js +94 -0
  259. package/dist/core/src/smartInit/smartInitEngine.js.map +1 -0
  260. package/dist/core/src/smartInit/stackDetection.js +503 -0
  261. package/dist/core/src/smartInit/stackDetection.js.map +1 -0
  262. package/dist/core/src/smartInit/toolingHintDetection.js +345 -0
  263. package/dist/core/src/smartInit/toolingHintDetection.js.map +1 -0
  264. package/dist/core/src/sourceScopeClassification.js +83 -0
  265. package/dist/core/src/sourceScopeClassification.js.map +1 -0
  266. package/dist/core/src/stackAdapters.js +2475 -0
  267. package/dist/core/src/stackAdapters.js.map +1 -0
  268. package/dist/core/src/stackMetadata.js +157 -0
  269. package/dist/core/src/stackMetadata.js.map +1 -0
  270. package/dist/core/src/suppressions/index.js +3 -0
  271. package/dist/core/src/suppressions/index.js.map +1 -0
  272. package/dist/core/src/suppressions/suppressionReporter.js +38 -0
  273. package/dist/core/src/suppressions/suppressionReporter.js.map +1 -0
  274. package/dist/core/src/suppressions/suppressionTypes.js +3 -0
  275. package/dist/core/src/suppressions/suppressionTypes.js.map +1 -0
  276. package/dist/core/src/suppressions/suppressionValidator.js +119 -0
  277. package/dist/core/src/suppressions/suppressionValidator.js.map +1 -0
  278. package/dist/core/src/transactionDomainAnalysis.js +1416 -0
  279. package/dist/core/src/transactionDomainAnalysis.js.map +1 -0
  280. package/dist/core/src/validation/changedFilesResolver.js +165 -0
  281. package/dist/core/src/validation/changedFilesResolver.js.map +1 -0
  282. package/dist/core/src/validationProfiling.js +33 -0
  283. package/dist/core/src/validationProfiling.js.map +1 -0
  284. package/dist/core/src/validationRuleExplanations.js +69 -0
  285. package/dist/core/src/validationRuleExplanations.js.map +1 -0
  286. package/dist/core/src/validationSourceInventory.js +200 -0
  287. package/dist/core/src/validationSourceInventory.js.map +1 -0
  288. package/dist/core/src/validationSuppressions.js +231 -0
  289. package/dist/core/src/validationSuppressions.js.map +1 -0
  290. package/dist/core/src/validationTypeScriptAstCache.js +82 -0
  291. package/dist/core/src/validationTypeScriptAstCache.js.map +1 -0
  292. package/dist/core/src/validationWorkflow.js +222 -0
  293. package/dist/core/src/validationWorkflow.js.map +1 -0
  294. package/dist/core/src/workspaceRoot.js +68 -0
  295. package/dist/core/src/workspaceRoot.js.map +1 -0
  296. package/package.json +1 -1
@@ -0,0 +1,439 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.buildGovernanceUploadPayload = buildGovernanceUploadPayload;
37
+ exports.buildGovernanceUploadPayloadForWorkspace = buildGovernanceUploadPayloadForWorkspace;
38
+ const path = __importStar(require("node:path"));
39
+ const node_fs_1 = require("node:fs");
40
+ const governanceContracts_1 = require("./governanceContracts");
41
+ const governanceGitMetadata_1 = require("./governanceGitMetadata");
42
+ const architectureConfigPathRelative = '.archpilot/architecture.json';
43
+ const validationStatusPathRelative = '.archpilot/validation-status.json';
44
+ const architectureSummaryPathRelative = '.archpilot/reports/architecture-summary.json';
45
+ const architectureReviewReportPathRelative = '.archpilot/reports/architecture-review-report.json';
46
+ const architectureMapPathRelative = '.archpilot/reports/architecture-map.json';
47
+ function asRecord(value) {
48
+ return value && typeof value === 'object' && !Array.isArray(value)
49
+ ? value
50
+ : undefined;
51
+ }
52
+ function asNumber(value, fallback = 0) {
53
+ return typeof value === 'number' && Number.isFinite(value) ? value : fallback;
54
+ }
55
+ function asCount(value) {
56
+ return typeof value === 'number' && Number.isFinite(value) && value >= 0
57
+ ? Math.floor(value)
58
+ : undefined;
59
+ }
60
+ function asString(value) {
61
+ return typeof value === 'string' && value.trim().length > 0 ? value.trim() : undefined;
62
+ }
63
+ function asStringArray(value) {
64
+ if (!Array.isArray(value)) {
65
+ return [];
66
+ }
67
+ return value
68
+ .filter((entry) => typeof entry === 'string' && entry.trim().length > 0)
69
+ .map((entry) => entry.trim())
70
+ .sort((left, right) => left.localeCompare(right));
71
+ }
72
+ function normalizeSeverity(value) {
73
+ return value?.toLowerCase() ?? 'info';
74
+ }
75
+ function normalizeFindingStatus(value) {
76
+ if (!value) {
77
+ return 'open';
78
+ }
79
+ const normalized = value.toLowerCase();
80
+ return normalized === 'active' ? 'open' : normalized;
81
+ }
82
+ function normalizeConfigCollection(value) {
83
+ if (Array.isArray(value)) {
84
+ const entries = value
85
+ .map((entry) => asRecord(entry))
86
+ .filter((entry) => !!entry)
87
+ .map((entry) => ({ ...entry }));
88
+ return entries.length > 0 ? entries : undefined;
89
+ }
90
+ const record = asRecord(value);
91
+ if (!record) {
92
+ return undefined;
93
+ }
94
+ const entries = [];
95
+ for (const [id, entry] of Object.entries(record)) {
96
+ const normalized = asRecord(entry);
97
+ if (normalized) {
98
+ entries.push({ ...normalized, id });
99
+ }
100
+ }
101
+ entries.sort((left, right) => String(left.id ?? '').localeCompare(String(right.id ?? '')));
102
+ return entries.length > 0 ? entries : undefined;
103
+ }
104
+ function normalizeComponents(architectureConfig) {
105
+ return normalizeConfigCollection(architectureConfig?.components);
106
+ }
107
+ function normalizeResources(architectureConfig) {
108
+ return normalizeConfigCollection(architectureConfig?.resources);
109
+ }
110
+ function normalizeLowercase(value) {
111
+ const normalized = asString(value);
112
+ return normalized ? normalized.toLowerCase() : null;
113
+ }
114
+ function normalizeRequiredString(value, fallback) {
115
+ const normalized = value?.trim();
116
+ return normalized && normalized.length > 0 ? normalized : fallback;
117
+ }
118
+ function normalizeOrganizationName(slug) {
119
+ return slug
120
+ .split(/[-_]/u)
121
+ .filter((part) => part.length > 0)
122
+ .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
123
+ .join(' ');
124
+ }
125
+ function deriveOrganizationSlug(input) {
126
+ const configured = asString(input.projectIdentity?.organizationId);
127
+ if (configured) {
128
+ return configured;
129
+ }
130
+ const repositorySlug = input.gitMetadata?.repositorySlug;
131
+ if (repositorySlug) {
132
+ const parts = repositorySlug.split('/');
133
+ if (parts.length >= 2) {
134
+ return parts[1];
135
+ }
136
+ }
137
+ return `${path.basename(input.workspaceRoot)}-org`;
138
+ }
139
+ function isCiEnvironment(environment) {
140
+ return environment.CI === 'true' || typeof environment.GITHUB_ACTIONS === 'string';
141
+ }
142
+ function resolveRequestedUploadMode(environment) {
143
+ const explicit = asString(environment.ARCHPILOT_UPLOAD_MODE);
144
+ if (explicit) {
145
+ return explicit.toLowerCase();
146
+ }
147
+ return undefined;
148
+ }
149
+ function readEnvironmentIdentity(environment) {
150
+ const branch = asString(environment.GITHUB_REF_NAME) ??
151
+ asString(environment.CI_COMMIT_REF_NAME) ??
152
+ asString(environment.BRANCH_NAME) ??
153
+ null;
154
+ const commitSha = asString(environment.GITHUB_SHA) ??
155
+ asString(environment.CI_COMMIT_SHA) ??
156
+ asString(environment.COMMIT_SHA) ??
157
+ null;
158
+ return { branch, commitSha };
159
+ }
160
+ function countConfiguredModules(architectureConfig) {
161
+ const modules = asRecord(architectureConfig?.modules);
162
+ return modules ? Object.keys(modules).length : 0;
163
+ }
164
+ function countMappedModules(architectureMap) {
165
+ const summaryCounts = asRecord(architectureMap?.summaryCounts);
166
+ const moduleCount = summaryCounts?.moduleCount;
167
+ return typeof moduleCount === 'number' && Number.isFinite(moduleCount)
168
+ ? moduleCount
169
+ : 0;
170
+ }
171
+ function normalizeOrganization(input) {
172
+ const slug = deriveOrganizationSlug(input);
173
+ return {
174
+ slug,
175
+ name: normalizeOrganizationName(slug),
176
+ };
177
+ }
178
+ function resolveRepositoryContract(input) {
179
+ const repositorySlug = input.gitMetadata?.repositorySlug ??
180
+ input.projectIdentity?.repositoryId ??
181
+ path.basename(input.workspaceRoot);
182
+ const repositoryName = input.gitMetadata?.repositoryName ??
183
+ path.basename(repositorySlug) ??
184
+ path.basename(input.workspaceRoot);
185
+ return {
186
+ externalRepositoryId: repositorySlug,
187
+ repositoryId: repositorySlug,
188
+ name: repositoryName,
189
+ url: normalizeRequiredString(input.projectIdentity?.repositoryUrl ?? input.gitMetadata?.repositoryUrl, `https://${repositorySlug}`),
190
+ defaultBranch: normalizeRequiredString(input.projectIdentity?.defaultBranch ?? input.gitMetadata?.defaultBranch, 'main'),
191
+ };
192
+ }
193
+ function normalizeFindings(value) {
194
+ const findings = Array.isArray(value) ? value : [];
195
+ const severityRank = {
196
+ error: 0,
197
+ warning: 1,
198
+ info: 2,
199
+ };
200
+ return findings
201
+ .map((entry) => asRecord(entry))
202
+ .filter((entry) => !!entry)
203
+ .map((entry) => {
204
+ const metadata = {};
205
+ for (const [key, value] of Object.entries(entry)) {
206
+ if (key === 'id' ||
207
+ key === 'category' ||
208
+ key === 'severity' ||
209
+ key === 'status' ||
210
+ key === 'kind' ||
211
+ key === 'module' ||
212
+ key === 'target' ||
213
+ key === 'filePath' ||
214
+ key === 'table' ||
215
+ key === 'api' ||
216
+ key === 'message' ||
217
+ key === 'sourceFile' ||
218
+ key === 'title' ||
219
+ key === 'sourceComponentId' ||
220
+ key === 'sourceComponentName' ||
221
+ key === 'targetComponentId' ||
222
+ key === 'targetComponentName' ||
223
+ key === 'dependencyType') {
224
+ continue;
225
+ }
226
+ metadata[key] = value;
227
+ }
228
+ return {
229
+ ruleId: asString(entry.id) ?? 'UNKNOWN',
230
+ category: asString(entry.category) ?? 'unknown',
231
+ severity: normalizeSeverity(asString(entry.severity)),
232
+ status: normalizeFindingStatus(asString(entry.status)),
233
+ findingType: asString(entry.kind) ?? 'violation',
234
+ ...(asString(entry.module) ? { module: asString(entry.module) } : {}),
235
+ ...(asString(entry.target) ? { target: asString(entry.target) } : {}),
236
+ ...(asString(entry.filePath) ? { filePath: asString(entry.filePath) } : {}),
237
+ ...(asString(entry.table) ? { tableName: asString(entry.table) } : {}),
238
+ ...(asString(entry.api) ? { apiName: asString(entry.api) } : {}),
239
+ message: asString(entry.message) ?? '',
240
+ ...(asString(entry.sourceComponentId)
241
+ ? { sourceComponentId: asString(entry.sourceComponentId) }
242
+ : {}),
243
+ ...(asString(entry.sourceComponentName)
244
+ ? { sourceComponentName: asString(entry.sourceComponentName) }
245
+ : {}),
246
+ ...(entry.targetComponentId === null
247
+ ? { targetComponentId: null }
248
+ : asString(entry.targetComponentId)
249
+ ? { targetComponentId: asString(entry.targetComponentId) }
250
+ : {}),
251
+ ...(entry.targetComponentName === null
252
+ ? { targetComponentName: null }
253
+ : asString(entry.targetComponentName)
254
+ ? { targetComponentName: asString(entry.targetComponentName) }
255
+ : {}),
256
+ ...(asString(entry.dependencyType) ? { dependencyType: asString(entry.dependencyType) } : {}),
257
+ ...(Object.keys(metadata).length > 0 ? { metadata } : {}),
258
+ };
259
+ })
260
+ .sort((left, right) => {
261
+ const leftSeverity = severityRank[left.severity] ?? 3;
262
+ const rightSeverity = severityRank[right.severity] ?? 3;
263
+ if (leftSeverity !== rightSeverity) {
264
+ return leftSeverity - rightSeverity;
265
+ }
266
+ const ruleCompare = left.ruleId.localeCompare(right.ruleId);
267
+ if (ruleCompare !== 0) {
268
+ return ruleCompare;
269
+ }
270
+ const fileCompare = (left.filePath ?? '').localeCompare(right.filePath ?? '');
271
+ if (fileCompare !== 0) {
272
+ return fileCompare;
273
+ }
274
+ return left.message.localeCompare(right.message);
275
+ });
276
+ }
277
+ function buildGovernanceUploadPayload(input) {
278
+ const validationSummary = asRecord(input.validationStatus.summary) ?? {};
279
+ const architectureSummary = input.architectureSummary;
280
+ const architectureConfig = input.architectureConfig;
281
+ const components = normalizeComponents(architectureConfig);
282
+ const resources = normalizeResources(architectureConfig);
283
+ const findings = normalizeFindings(architectureSummary.findings);
284
+ const changeRisk = asRecord(architectureSummary.changeRisk) ?? {};
285
+ const governanceRisk = asRecord(architectureSummary.risk) ?? {};
286
+ const enforcement = asRecord(architectureSummary.enforcement) ?? {};
287
+ const environment = input.environment ?? process.env;
288
+ const requestedUploadMode = resolveRequestedUploadMode(environment);
289
+ const environmentIdentity = readEnvironmentIdentity(environment);
290
+ const repository = resolveRepositoryContract({
291
+ workspaceRoot: input.workspaceRoot,
292
+ projectIdentity: input.projectIdentity,
293
+ gitMetadata: input.gitMetadata,
294
+ });
295
+ const moduleCount = countMappedModules(input.architectureMap) || countConfiguredModules(architectureConfig);
296
+ const errorCount = asCount(validationSummary.errors) ??
297
+ findings.filter((finding) => finding.severity === 'error').length;
298
+ const warningCount = asCount(validationSummary.warnings) ??
299
+ findings.filter((finding) => finding.severity === 'warning').length;
300
+ const infoCount = asCount(validationSummary.info) ??
301
+ findings.filter((finding) => finding.severity === 'info').length;
302
+ const totalFindings = findings.length > 0 ? findings.length : errorCount + warningCount + infoCount;
303
+ const snapshot = {
304
+ commitSha: normalizeRequiredString(environmentIdentity.commitSha ?? input.gitMetadata?.commitSha, 'unknown'),
305
+ branch: normalizeRequiredString(environmentIdentity.branch ?? input.gitMetadata?.branch, repository.defaultBranch),
306
+ source: requestedUploadMode === 'ci' || isCiEnvironment(environment) ? 'ci' : 'cli',
307
+ architectureScore: asNumber(validationSummary.healthScore, asNumber(architectureSummary.healthScore, 0)),
308
+ setupReadinessScore: asNumber(validationSummary.readinessScore, asNumber(architectureSummary.readinessScore, 0)),
309
+ changeRisk: normalizeRequiredString(normalizeLowercase(changeRisk.riskLevel) ?? undefined, 'low'),
310
+ governanceRisk: normalizeRequiredString(normalizeLowercase(governanceRisk.level) ?? undefined, 'low'),
311
+ enforcement: normalizeRequiredString(normalizeLowercase(enforcement.policyLevel) ??
312
+ normalizeLowercase(enforcement.enforcementDecision) ??
313
+ normalizeLowercase(enforcement.action) ??
314
+ undefined, 'advisory'),
315
+ summary: {
316
+ modules: moduleCount,
317
+ violations: totalFindings,
318
+ },
319
+ findingsCount: {
320
+ total: totalFindings,
321
+ warning: warningCount,
322
+ error: errorCount,
323
+ },
324
+ artifactMeta: {
325
+ cliVersion: input.archpilotVersion,
326
+ },
327
+ };
328
+ const uploadMode = requestedUploadMode ?? (snapshot.source === 'ci' ? 'ci' : 'manual');
329
+ const payload = {
330
+ schemaVersion: 1,
331
+ uploadMode: uploadMode,
332
+ organization: normalizeOrganization({
333
+ projectIdentity: input.projectIdentity,
334
+ gitMetadata: input.gitMetadata,
335
+ workspaceRoot: input.workspaceRoot,
336
+ }),
337
+ repository,
338
+ snapshot,
339
+ findings,
340
+ ...(components ? { components } : {}),
341
+ ...(resources ? { resources } : {}),
342
+ rawPayload: {
343
+ ...(input.architectureConfig ? { architectureConfig: input.architectureConfig } : {}),
344
+ validationStatus: input.validationStatus,
345
+ architectureSummary: input.architectureSummary,
346
+ ...(input.architectureReviewReport
347
+ ? { architectureReviewReport: input.architectureReviewReport }
348
+ : {}),
349
+ ...(input.architectureMap ? { architectureMap: input.architectureMap } : {}),
350
+ },
351
+ };
352
+ const validationErrors = (0, governanceContracts_1.validateGovernanceUploadPayload)(payload);
353
+ if (validationErrors.length > 0) {
354
+ throw new Error(`Governance upload payload is invalid: ${validationErrors.join(' ')}`);
355
+ }
356
+ return payload;
357
+ }
358
+ async function readJsonFile(filePath) {
359
+ let contents;
360
+ try {
361
+ contents = await node_fs_1.promises.readFile(filePath, { encoding: 'utf8' });
362
+ }
363
+ catch (error) {
364
+ if (error.code === 'ENOENT') {
365
+ return { kind: 'missing' };
366
+ }
367
+ return {
368
+ kind: 'invalid',
369
+ details: error instanceof Error ? error.message : 'Unable to read JSON file.',
370
+ };
371
+ }
372
+ try {
373
+ return { kind: 'ok', value: JSON.parse(contents) };
374
+ }
375
+ catch {
376
+ return { kind: 'invalid', details: 'Invalid JSON.' };
377
+ }
378
+ }
379
+ async function buildGovernanceUploadPayloadForWorkspace(input) {
380
+ const architectureConfigPath = path.join(input.workspaceRoot, ...architectureConfigPathRelative.split('/'));
381
+ const validationStatusPath = path.join(input.workspaceRoot, ...validationStatusPathRelative.split('/'));
382
+ const architectureSummaryPath = path.join(input.workspaceRoot, ...architectureSummaryPathRelative.split('/'));
383
+ const architectureReviewReportPath = path.join(input.workspaceRoot, ...architectureReviewReportPathRelative.split('/'));
384
+ const architectureMapPath = path.join(input.workspaceRoot, ...architectureMapPathRelative.split('/'));
385
+ const [architectureConfigLoaded, architectureMapLoaded, validationStatusLoaded, architectureSummaryLoaded, reviewReportLoaded, gitMetadata,] = await Promise.all([
386
+ readJsonFile(architectureConfigPath),
387
+ readJsonFile(architectureMapPath),
388
+ readJsonFile(validationStatusPath),
389
+ readJsonFile(architectureSummaryPath),
390
+ readJsonFile(architectureReviewReportPath),
391
+ (0, governanceGitMetadata_1.resolveGovernanceGitMetadata)(input.workspaceRoot),
392
+ ]);
393
+ if (validationStatusLoaded.kind === 'missing' || architectureSummaryLoaded.kind === 'missing') {
394
+ return {
395
+ kind: 'missing-artifact',
396
+ message: 'Required governance artifacts are missing. Run `archpilot validate` first to generate .archpilot/validation-status.json and .archpilot/reports/architecture-summary.json.',
397
+ };
398
+ }
399
+ if (validationStatusLoaded.kind === 'invalid') {
400
+ return {
401
+ kind: 'invalid-artifact',
402
+ message: `Validation status artifact is invalid. ${validationStatusLoaded.details}`,
403
+ };
404
+ }
405
+ if (architectureSummaryLoaded.kind === 'invalid') {
406
+ return {
407
+ kind: 'invalid-artifact',
408
+ message: `Architecture summary artifact is invalid. ${architectureSummaryLoaded.details}`,
409
+ };
410
+ }
411
+ const validationStatus = asRecord(validationStatusLoaded.value);
412
+ const architectureSummary = asRecord(architectureSummaryLoaded.value);
413
+ const architectureConfig = architectureConfigLoaded.kind === 'ok' ? asRecord(architectureConfigLoaded.value) : undefined;
414
+ const architectureMap = architectureMapLoaded.kind === 'ok' ? asRecord(architectureMapLoaded.value) : undefined;
415
+ if (!validationStatus || !architectureSummary) {
416
+ return {
417
+ kind: 'invalid-artifact',
418
+ message: 'Governance artifact JSON shape is invalid. Run `archpilot validate` to regenerate artifacts.',
419
+ };
420
+ }
421
+ const reviewReport = reviewReportLoaded.kind === 'ok' ? asRecord(reviewReportLoaded.value) : undefined;
422
+ return {
423
+ kind: 'ok',
424
+ payload: buildGovernanceUploadPayload({
425
+ workspaceRoot: input.workspaceRoot,
426
+ projectIdentity: input.projectIdentity,
427
+ ...(architectureConfig ? { architectureConfig } : {}),
428
+ ...(architectureMap ? { architectureMap } : {}),
429
+ validationStatus,
430
+ architectureSummary,
431
+ ...(reviewReport ? { architectureReviewReport: reviewReport } : {}),
432
+ uploadedAt: input.uploadedAt ?? new Date().toISOString(),
433
+ archpilotVersion: input.archpilotVersion ?? 'unknown',
434
+ environment: input.environment,
435
+ gitMetadata,
436
+ }),
437
+ };
438
+ }
439
+ //# sourceMappingURL=governanceUploadPayload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governanceUploadPayload.js","sourceRoot":"","sources":["../../../../../core/src/governance/governanceUploadPayload.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.runGovernanceUploadForWorkspace = runGovernanceUploadForWorkspace;
37
+ const path = __importStar(require("node:path"));
38
+ const config_1 = require("../config");
39
+ const operationalLogging_1 = require("../operationalLogging");
40
+ const governanceUploadPayload_1 = require("./governanceUploadPayload");
41
+ const governanceUploadClient_1 = require("./governanceUploadClient");
42
+ const cloudConnection_1 = require("./cloudConnection");
43
+ async function runGovernanceUploadForWorkspace(input) {
44
+ (0, operationalLogging_1.emitOperationalMessage)(input.onOperationalMessage, 'info', 'Preparing governance upload payload from local validation artifacts.');
45
+ const projectConfig = await (0, config_1.readProjectConfig)(input.workspaceRoot);
46
+ if (projectConfig.invalidJson && (!input.serverUrl || !input.token)) {
47
+ throw new Error(projectConfig.errorMessage ??
48
+ 'ArchPilot project config is invalid. Please fix .archpilot/config.json.');
49
+ }
50
+ const projectIdentityLoaded = await (0, config_1.readProjectIdentity)(input.workspaceRoot);
51
+ if (projectIdentityLoaded.invalidJson) {
52
+ throw new Error(projectIdentityLoaded.errorMessage ??
53
+ 'ArchPilot project identity config is invalid. Please fix .archpilot/project.json.');
54
+ }
55
+ const payloadResult = await (0, governanceUploadPayload_1.buildGovernanceUploadPayloadForWorkspace)({
56
+ workspaceRoot: input.workspaceRoot,
57
+ ...(projectIdentityLoaded.identity
58
+ ? { projectIdentity: projectIdentityLoaded.identity }
59
+ : {}),
60
+ archpilotVersion: input.archpilotVersion,
61
+ environment: input.environment,
62
+ });
63
+ if (payloadResult.kind === 'missing-artifact' || payloadResult.kind === 'invalid-artifact') {
64
+ throw new Error(payloadResult.message ?? 'Unable to build governance upload payload.');
65
+ }
66
+ const serverUrl = (0, cloudConnection_1.resolveArchPilotCloudServer)({
67
+ ...(input.serverUrl ?? projectConfig.config?.cloud?.server
68
+ ? { explicitServerUrl: input.serverUrl ?? projectConfig.config?.cloud?.server }
69
+ : {}),
70
+ environment: input.environment ?? process.env,
71
+ }).apiBaseUrl;
72
+ const token = input.token ?? projectConfig.config?.cloud?.token;
73
+ if (!token) {
74
+ throw new Error('Governance upload requires an API token. Provide --token or configure ArchPilot Cloud in .archpilot/config.json / Inspector.');
75
+ }
76
+ const payload = payloadResult.payload;
77
+ (0, operationalLogging_1.emitOperationalMessage)(input.onOperationalMessage, 'info', `Uploading governance snapshot to ${serverUrl}.`);
78
+ const response = await (0, governanceUploadClient_1.uploadGovernanceSnapshot)({
79
+ serverUrl,
80
+ token,
81
+ payload,
82
+ });
83
+ if (!input.serverUrl && !input.token && projectConfig.config?.cloud) {
84
+ await (0, config_1.writeProjectConfig)(input.workspaceRoot, {
85
+ ...projectConfig.config,
86
+ cloud: {
87
+ ...projectConfig.config.cloud,
88
+ lastUploadAt: new Date().toISOString(),
89
+ },
90
+ });
91
+ }
92
+ return {
93
+ repository: payload.repository.repositoryId || path.basename(input.workspaceRoot),
94
+ commitSha: payload.snapshot.commitSha || 'unknown commit',
95
+ totalFindings: payload.snapshot.findingsCount.total,
96
+ errors: payload.snapshot.findingsCount.error,
97
+ warnings: payload.snapshot.findingsCount.warning,
98
+ architectureHealth: payload.snapshot.architectureScore,
99
+ endpoint: response.endpoint,
100
+ statusCode: response.statusCode,
101
+ };
102
+ }
103
+ //# sourceMappingURL=runGovernanceUpload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runGovernanceUpload.js","sourceRoot":"","sources":["../../../../../core/src/governance/runGovernanceUpload.ts"],"names":[],"mappings":"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"}