@archpilotlabs/archpilot 0.2.2 → 0.2.4
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/CHANGELOG.md +538 -0
- package/README.md +1 -0
- package/dist/archpilot-cli.js +850 -159
- package/dist/cli/src/archpilot-cli.js +5523 -0
- package/dist/cli/src/archpilot-cli.js.map +1 -0
- package/dist/core/src/adr/adrLoader.js +97 -0
- package/dist/core/src/adr/adrLoader.js.map +1 -0
- package/dist/core/src/adr/adrParser.js +77 -0
- package/dist/core/src/adr/adrParser.js.map +1 -0
- package/dist/core/src/adr/adrTemplate.js +45 -0
- package/dist/core/src/adr/adrTemplate.js.map +1 -0
- package/dist/core/src/adr/adrTypes.js +3 -0
- package/dist/core/src/adr/adrTypes.js.map +1 -0
- package/dist/core/src/adr/adrValidation.js +160 -0
- package/dist/core/src/adr/adrValidation.js.map +1 -0
- package/dist/core/src/adr/index.js +9 -0
- package/dist/core/src/adr/index.js.map +1 -0
- package/dist/core/src/adrManagement.js +174 -0
- package/dist/core/src/adrManagement.js.map +1 -0
- package/dist/core/src/adrRequirementStatus.js +62 -0
- package/dist/core/src/adrRequirementStatus.js.map +1 -0
- package/dist/core/src/adrScaffoldGeneration.js +325 -0
- package/dist/core/src/adrScaffoldGeneration.js.map +1 -0
- package/dist/core/src/apiDesignAnalysis.js +869 -0
- package/dist/core/src/apiDesignAnalysis.js.map +1 -0
- package/dist/core/src/applicationLayeringAnalysis.js +920 -0
- package/dist/core/src/applicationLayeringAnalysis.js.map +1 -0
- package/dist/core/src/applyRulePack.js +117 -0
- package/dist/core/src/applyRulePack.js.map +1 -0
- package/dist/core/src/architectureBaseline.js +271 -0
- package/dist/core/src/architectureBaseline.js.map +1 -0
- package/dist/core/src/architectureComponentDiscoveryDefaults.js +139 -0
- package/dist/core/src/architectureComponentDiscoveryDefaults.js.map +1 -0
- package/dist/core/src/architectureDependencyContext.js +316 -0
- package/dist/core/src/architectureDependencyContext.js.map +1 -0
- package/dist/core/src/architectureDriftDetection.js +96 -0
- package/dist/core/src/architectureDriftDetection.js.map +1 -0
- package/dist/core/src/architectureDriftTimeline.js +221 -0
- package/dist/core/src/architectureDriftTimeline.js.map +1 -0
- package/dist/core/src/architectureGovernanceBaseline.js +469 -0
- package/dist/core/src/architectureGovernanceBaseline.js.map +1 -0
- package/dist/core/src/architectureHealthHistory.js +208 -0
- package/dist/core/src/architectureHealthHistory.js.map +1 -0
- package/dist/core/src/architectureHealthScore.js +657 -0
- package/dist/core/src/architectureHealthScore.js.map +1 -0
- package/dist/core/src/architectureInit.js +826 -0
- package/dist/core/src/architectureInit.js.map +1 -0
- package/dist/core/src/architectureMap.js +727 -0
- package/dist/core/src/architectureMap.js.map +1 -0
- package/dist/core/src/architectureMigrationPreview.js +467 -0
- package/dist/core/src/architectureMigrationPreview.js.map +1 -0
- package/dist/core/src/architectureModelRefresh.js +209 -0
- package/dist/core/src/architectureModelRefresh.js.map +1 -0
- package/dist/core/src/architectureReportWorkflow.js +139 -0
- package/dist/core/src/architectureReportWorkflow.js.map +1 -0
- package/dist/core/src/architectureValidation.js +3879 -0
- package/dist/core/src/architectureValidation.js.map +1 -0
- package/dist/core/src/architectureWorkspaceModel.js +166 -0
- package/dist/core/src/architectureWorkspaceModel.js.map +1 -0
- package/dist/core/src/authorizationTenantAnalysis.js +652 -0
- package/dist/core/src/authorizationTenantAnalysis.js.map +1 -0
- package/dist/core/src/bootstrapArchitectureConfig.js +150 -0
- package/dist/core/src/bootstrapArchitectureConfig.js.map +1 -0
- package/dist/core/src/changeRisk/changeRiskAssessment.js +251 -0
- package/dist/core/src/changeRisk/changeRiskAssessment.js.map +1 -0
- package/dist/core/src/changeRisk/changeRiskTypes.js +3 -0
- package/dist/core/src/changeRisk/changeRiskTypes.js.map +1 -0
- package/dist/core/src/changeRisk/index.js +6 -0
- package/dist/core/src/changeRisk/index.js.map +1 -0
- package/dist/core/src/ci/githubInlineAnnotations.js +245 -0
- package/dist/core/src/ci/githubInlineAnnotations.js.map +1 -0
- package/dist/core/src/ci/githubPrCommentAdapter.js +232 -0
- package/dist/core/src/ci/githubPrCommentAdapter.js.map +1 -0
- package/dist/core/src/ciWorkflowTemplates.js +1042 -0
- package/dist/core/src/ciWorkflowTemplates.js.map +1 -0
- package/dist/core/src/compliance/complianceExportBuilder.js +122 -0
- package/dist/core/src/compliance/complianceExportBuilder.js.map +1 -0
- package/dist/core/src/compliance/complianceExportTypes.js +3 -0
- package/dist/core/src/compliance/complianceExportTypes.js.map +1 -0
- package/dist/core/src/compliance/complianceExportWriter.js +48 -0
- package/dist/core/src/compliance/complianceExportWriter.js.map +1 -0
- package/dist/core/src/compliance/complianceRulePackResolver.js +62 -0
- package/dist/core/src/compliance/complianceRulePackResolver.js.map +1 -0
- package/dist/core/src/config/index.js +17 -0
- package/dist/core/src/config/index.js.map +1 -0
- package/dist/core/src/config/projectConfig.js +224 -0
- package/dist/core/src/config/projectConfig.js.map +1 -0
- package/dist/core/src/config/projectIdentity.js +160 -0
- package/dist/core/src/config/projectIdentity.js.map +1 -0
- package/dist/core/src/dataQueryRiskDetection.js +1203 -0
- package/dist/core/src/dataQueryRiskDetection.js.map +1 -0
- package/dist/core/src/dependencyValidation.js +2557 -0
- package/dist/core/src/dependencyValidation.js.map +1 -0
- package/dist/core/src/discoverAdrs.js +15 -0
- package/dist/core/src/discoverAdrs.js.map +1 -0
- package/dist/core/src/drift/driftComparator.js +49 -0
- package/dist/core/src/drift/driftComparator.js.map +1 -0
- package/dist/core/src/drift/driftSnapshotLoader.js +136 -0
- package/dist/core/src/drift/driftSnapshotLoader.js.map +1 -0
- package/dist/core/src/drift/driftSnapshotTypes.js +3 -0
- package/dist/core/src/drift/driftSnapshotTypes.js.map +1 -0
- package/dist/core/src/drift/driftSnapshotWriter.js +48 -0
- package/dist/core/src/drift/driftSnapshotWriter.js.map +1 -0
- package/dist/core/src/drift/index.js +6 -0
- package/dist/core/src/drift/index.js.map +1 -0
- package/dist/core/src/eventArchitectureAnalysis.js +925 -0
- package/dist/core/src/eventArchitectureAnalysis.js.map +1 -0
- package/dist/core/src/findingTargetResolution.js +117 -0
- package/dist/core/src/findingTargetResolution.js.map +1 -0
- package/dist/core/src/generateArchitectureDiagrams.js +57 -0
- package/dist/core/src/generateArchitectureDiagrams.js.map +1 -0
- package/dist/core/src/generateImpactAnalysis.js +366 -0
- package/dist/core/src/generateImpactAnalysis.js.map +1 -0
- package/dist/core/src/generateOnboardingDocs.js +262 -0
- package/dist/core/src/generateOnboardingDocs.js.map +1 -0
- package/dist/core/src/governance/cloudConnection.js +203 -0
- package/dist/core/src/governance/cloudConnection.js.map +1 -0
- package/dist/core/src/governance/governanceContracts.js +129 -0
- package/dist/core/src/governance/governanceContracts.js.map +1 -0
- package/dist/core/src/governance/governanceGitMetadata.js +78 -0
- package/dist/core/src/governance/governanceGitMetadata.js.map +1 -0
- package/dist/core/src/governance/governanceUploadClient.js +119 -0
- package/dist/core/src/governance/governanceUploadClient.js.map +1 -0
- package/dist/core/src/governance/governanceUploadLimitErrorFormatting.js +155 -0
- package/dist/core/src/governance/governanceUploadLimitErrorFormatting.js.map +1 -0
- package/dist/core/src/governance/governanceUploadPayload.js +439 -0
- package/dist/core/src/governance/governanceUploadPayload.js.map +1 -0
- package/dist/core/src/governance/runGovernanceUpload.js +103 -0
- package/dist/core/src/governance/runGovernanceUpload.js.map +1 -0
- package/dist/core/src/impactAnalysisEngine.js +376 -0
- package/dist/core/src/impactAnalysisEngine.js.map +1 -0
- package/dist/core/src/initializationState.js +99 -0
- package/dist/core/src/initializationState.js.map +1 -0
- package/dist/core/src/managedArtifacts.js +151 -0
- package/dist/core/src/managedArtifacts.js.map +1 -0
- package/dist/core/src/moduleContractValidation.js +266 -0
- package/dist/core/src/moduleContractValidation.js.map +1 -0
- package/dist/core/src/moduleContractsGenerator.js +337 -0
- package/dist/core/src/moduleContractsGenerator.js.map +1 -0
- package/dist/core/src/moduleDiscovery.js +416 -0
- package/dist/core/src/moduleDiscovery.js.map +1 -0
- package/dist/core/src/moduleScope.js +426 -0
- package/dist/core/src/moduleScope.js.map +1 -0
- package/dist/core/src/onboardingGuidance.js +74 -0
- package/dist/core/src/onboardingGuidance.js.map +1 -0
- package/dist/core/src/operationalLogging.js +7 -0
- package/dist/core/src/operationalLogging.js.map +1 -0
- package/dist/core/src/packageVersion.js +52 -0
- package/dist/core/src/packageVersion.js.map +1 -0
- package/dist/core/src/policy/effectivePolicyResolver.js +91 -0
- package/dist/core/src/policy/effectivePolicyResolver.js.map +1 -0
- package/dist/core/src/policy/exceptionLoader.js +285 -0
- package/dist/core/src/policy/exceptionLoader.js.map +1 -0
- package/dist/core/src/policy/remotePolicyLoader.js +227 -0
- package/dist/core/src/policy/remotePolicyLoader.js.map +1 -0
- package/dist/core/src/policy/remotePolicyTypes.js +3 -0
- package/dist/core/src/policy/remotePolicyTypes.js.map +1 -0
- package/dist/core/src/policy/riskPolicyConfig.js +206 -0
- package/dist/core/src/policy/riskPolicyConfig.js.map +1 -0
- package/dist/core/src/policy/riskPolicyEnforcement.js +203 -0
- package/dist/core/src/policy/riskPolicyEnforcement.js.map +1 -0
- package/dist/core/src/policy/riskPolicyExitCode.js +16 -0
- package/dist/core/src/policy/riskPolicyExitCode.js.map +1 -0
- package/dist/core/src/policy/riskPolicyInitializer.js +90 -0
- package/dist/core/src/policy/riskPolicyInitializer.js.map +1 -0
- package/dist/core/src/quickFix/quickFixEngine.js +132 -0
- package/dist/core/src/quickFix/quickFixEngine.js.map +1 -0
- package/dist/core/src/quickFix/quickFixMessaging.js +15 -0
- package/dist/core/src/quickFix/quickFixMessaging.js.map +1 -0
- package/dist/core/src/quickFix/quickFixProviders.js +87 -0
- package/dist/core/src/quickFix/quickFixProviders.js.map +1 -0
- package/dist/core/src/quickFix/quickFixTypes.js +3 -0
- package/dist/core/src/quickFix/quickFixTypes.js.map +1 -0
- package/dist/core/src/remediation/fileHelpers.js +86 -0
- package/dist/core/src/remediation/fileHelpers.js.map +1 -0
- package/dist/core/src/remediation/fixRegistry.js +645 -0
- package/dist/core/src/remediation/fixRegistry.js.map +1 -0
- package/dist/core/src/remediation/index.js +8 -0
- package/dist/core/src/remediation/index.js.map +1 -0
- package/dist/core/src/remediation/remediationEngine.js +207 -0
- package/dist/core/src/remediation/remediationEngine.js.map +1 -0
- package/dist/core/src/reporting/adrReporter.js +59 -0
- package/dist/core/src/reporting/adrReporter.js.map +1 -0
- package/dist/core/src/reporting/architectureBaselineReporter.js +64 -0
- package/dist/core/src/reporting/architectureBaselineReporter.js.map +1 -0
- package/dist/core/src/reporting/architectureDiagramReporter.js +148 -0
- package/dist/core/src/reporting/architectureDiagramReporter.js.map +1 -0
- package/dist/core/src/reporting/architectureDriftTimelineReporter.js +44 -0
- package/dist/core/src/reporting/architectureDriftTimelineReporter.js.map +1 -0
- package/dist/core/src/reporting/architectureHealthHistoryReporter.js +51 -0
- package/dist/core/src/reporting/architectureHealthHistoryReporter.js.map +1 -0
- package/dist/core/src/reporting/architectureMapReporter.js +228 -0
- package/dist/core/src/reporting/architectureMapReporter.js.map +1 -0
- package/dist/core/src/reporting/architecturePrCommentReporter.js +324 -0
- package/dist/core/src/reporting/architecturePrCommentReporter.js.map +1 -0
- package/dist/core/src/reporting/architecturePrReviewReporter.js +389 -0
- package/dist/core/src/reporting/architecturePrReviewReporter.js.map +1 -0
- package/dist/core/src/reporting/architectureReportArtifacts.js +166 -0
- package/dist/core/src/reporting/architectureReportArtifacts.js.map +1 -0
- package/dist/core/src/reporting/architectureReviewReportGenerator.js +382 -0
- package/dist/core/src/reporting/architectureReviewReportGenerator.js.map +1 -0
- package/dist/core/src/reporting/architectureReviewReporter.js +1633 -0
- package/dist/core/src/reporting/architectureReviewReporter.js.map +1 -0
- package/dist/core/src/reporting/architectureRiskAssessment.js +101 -0
- package/dist/core/src/reporting/architectureRiskAssessment.js.map +1 -0
- package/dist/core/src/reporting/architectureScoreBadge.js +177 -0
- package/dist/core/src/reporting/architectureScoreBadge.js.map +1 -0
- package/dist/core/src/reporting/architectureSupplementalReporters.js +124 -0
- package/dist/core/src/reporting/architectureSupplementalReporters.js.map +1 -0
- package/dist/core/src/reporting/changeRiskAssessment.js +6 -0
- package/dist/core/src/reporting/changeRiskAssessment.js.map +1 -0
- package/dist/core/src/reporting/changeRiskTypes.js +3 -0
- package/dist/core/src/reporting/changeRiskTypes.js.map +1 -0
- package/dist/core/src/reporting/impactAnalysisReporter.js +111 -0
- package/dist/core/src/reporting/impactAnalysisReporter.js.map +1 -0
- package/dist/core/src/reporting/onboardingDocsReporter.js +113 -0
- package/dist/core/src/reporting/onboardingDocsReporter.js.map +1 -0
- package/dist/core/src/reporting/rulePackReporter.js +61 -0
- package/dist/core/src/reporting/rulePackReporter.js.map +1 -0
- package/dist/core/src/reporting/safetyControlsDetection.js +343 -0
- package/dist/core/src/reporting/safetyControlsDetection.js.map +1 -0
- package/dist/core/src/resolveRuleAdrs.js +31 -0
- package/dist/core/src/resolveRuleAdrs.js.map +1 -0
- package/dist/core/src/reviewGenerationWorkflow.js +220 -0
- package/dist/core/src/reviewGenerationWorkflow.js.map +1 -0
- package/dist/core/src/rulePacks/index.js +17 -0
- package/dist/core/src/rulePacks/index.js.map +1 -0
- package/dist/core/src/rulePacks/layeredMonolithRulePack.js +45 -0
- package/dist/core/src/rulePacks/layeredMonolithRulePack.js.map +1 -0
- package/dist/core/src/rulePacks/modularMonolithRulePack.js +41 -0
- package/dist/core/src/rulePacks/modularMonolithRulePack.js.map +1 -0
- package/dist/core/src/rulePacks/types.js +3 -0
- package/dist/core/src/rulePacks/types.js.map +1 -0
- package/dist/core/src/setupNextSteps.js +939 -0
- package/dist/core/src/setupNextSteps.js.map +1 -0
- package/dist/core/src/setupRefresh.js +152 -0
- package/dist/core/src/setupRefresh.js.map +1 -0
- package/dist/core/src/smartInit/apiDbHintDetection.js +836 -0
- package/dist/core/src/smartInit/apiDbHintDetection.js.map +1 -0
- package/dist/core/src/smartInit/architectureProposalBuilder.js +1215 -0
- package/dist/core/src/smartInit/architectureProposalBuilder.js.map +1 -0
- package/dist/core/src/smartInit/architectureStyleDetection.js +472 -0
- package/dist/core/src/smartInit/architectureStyleDetection.js.map +1 -0
- package/dist/core/src/smartInit/archpilotIgnore.js +139 -0
- package/dist/core/src/smartInit/archpilotIgnore.js.map +1 -0
- package/dist/core/src/smartInit/componentDetection.js +1084 -0
- package/dist/core/src/smartInit/componentDetection.js.map +1 -0
- package/dist/core/src/smartInit/implementationProfileResolution.js +53 -0
- package/dist/core/src/smartInit/implementationProfileResolution.js.map +1 -0
- package/dist/core/src/smartInit/index.js +31 -0
- package/dist/core/src/smartInit/index.js.map +1 -0
- package/dist/core/src/smartInit/moduleDetection.js +982 -0
- package/dist/core/src/smartInit/moduleDetection.js.map +1 -0
- package/dist/core/src/smartInit/projectKindDetection.js +437 -0
- package/dist/core/src/smartInit/projectKindDetection.js.map +1 -0
- package/dist/core/src/smartInit/repoTopologyDetection.js +470 -0
- package/dist/core/src/smartInit/repoTopologyDetection.js.map +1 -0
- package/dist/core/src/smartInit/runContext.js +112 -0
- package/dist/core/src/smartInit/runContext.js.map +1 -0
- package/dist/core/src/smartInit/smartInitEngine.js +94 -0
- package/dist/core/src/smartInit/smartInitEngine.js.map +1 -0
- package/dist/core/src/smartInit/stackDetection.js +503 -0
- package/dist/core/src/smartInit/stackDetection.js.map +1 -0
- package/dist/core/src/smartInit/toolingHintDetection.js +345 -0
- package/dist/core/src/smartInit/toolingHintDetection.js.map +1 -0
- package/dist/core/src/sourceScopeClassification.js +83 -0
- package/dist/core/src/sourceScopeClassification.js.map +1 -0
- package/dist/core/src/stackAdapters.js +2475 -0
- package/dist/core/src/stackAdapters.js.map +1 -0
- package/dist/core/src/stackMetadata.js +157 -0
- package/dist/core/src/stackMetadata.js.map +1 -0
- package/dist/core/src/suppressions/index.js +3 -0
- package/dist/core/src/suppressions/index.js.map +1 -0
- package/dist/core/src/suppressions/suppressionReporter.js +38 -0
- package/dist/core/src/suppressions/suppressionReporter.js.map +1 -0
- package/dist/core/src/suppressions/suppressionTypes.js +3 -0
- package/dist/core/src/suppressions/suppressionTypes.js.map +1 -0
- package/dist/core/src/suppressions/suppressionValidator.js +119 -0
- package/dist/core/src/suppressions/suppressionValidator.js.map +1 -0
- package/dist/core/src/transactionDomainAnalysis.js +1416 -0
- package/dist/core/src/transactionDomainAnalysis.js.map +1 -0
- package/dist/core/src/validation/changedFilesResolver.js +165 -0
- package/dist/core/src/validation/changedFilesResolver.js.map +1 -0
- package/dist/core/src/validationProfiling.js +33 -0
- package/dist/core/src/validationProfiling.js.map +1 -0
- package/dist/core/src/validationRuleExplanations.js +69 -0
- package/dist/core/src/validationRuleExplanations.js.map +1 -0
- package/dist/core/src/validationSourceInventory.js +200 -0
- package/dist/core/src/validationSourceInventory.js.map +1 -0
- package/dist/core/src/validationSuppressions.js +231 -0
- package/dist/core/src/validationSuppressions.js.map +1 -0
- package/dist/core/src/validationTypeScriptAstCache.js +82 -0
- package/dist/core/src/validationTypeScriptAstCache.js.map +1 -0
- package/dist/core/src/validationWorkflow.js +222 -0
- package/dist/core/src/validationWorkflow.js.map +1 -0
- package/dist/core/src/workspaceRoot.js +68 -0
- package/dist/core/src/workspaceRoot.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependencyValidation.js","sourceRoot":"","sources":["../../../../core/src/dependencyValidation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.discoverAdrs = discoverAdrs;
|
|
4
|
+
const adrLoader_1 = require("./adr/adrLoader");
|
|
5
|
+
async function discoverAdrs(workspaceRoot) {
|
|
6
|
+
const records = await (0, adrLoader_1.loadArchitectureDecisionRecords)(workspaceRoot);
|
|
7
|
+
return records
|
|
8
|
+
.map((record) => ({
|
|
9
|
+
id: record.adrId,
|
|
10
|
+
title: record.title.trim().length > 0 ? record.title : record.fileName,
|
|
11
|
+
filePath: record.filePath,
|
|
12
|
+
}))
|
|
13
|
+
.sort((left, right) => left.id.localeCompare(right.id));
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=discoverAdrs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discoverAdrs.js","sourceRoot":"","sources":["../../../../core/src/discoverAdrs.ts"],"names":[],"mappings":";;AAQA,oCASC;AAjBD,+CAAkE;AAQ3D,KAAK,UAAU,YAAY,CAAC,aAAqB;IACvD,MAAM,OAAO,GAAG,MAAM,IAAA,2CAA+B,EAAC,aAAa,CAAC,CAAC;IACrE,OAAO,OAAO;SACZ,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACjB,EAAE,EAAE,MAAM,CAAC,KAAK;QAChB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ;QACtE,QAAQ,EAAE,MAAM,CAAC,QAAQ;KACzB,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.compareDriftSnapshots = compareDriftSnapshots;
|
|
4
|
+
function compareViolation(left, right) {
|
|
5
|
+
const ruleCompare = left.ruleId.localeCompare(right.ruleId);
|
|
6
|
+
if (ruleCompare !== 0) {
|
|
7
|
+
return ruleCompare;
|
|
8
|
+
}
|
|
9
|
+
const fileCompare = (left.file ?? '').localeCompare(right.file ?? '');
|
|
10
|
+
if (fileCompare !== 0) {
|
|
11
|
+
return fileCompare;
|
|
12
|
+
}
|
|
13
|
+
const severityCompare = left.severity.localeCompare(right.severity);
|
|
14
|
+
if (severityCompare !== 0) {
|
|
15
|
+
return severityCompare;
|
|
16
|
+
}
|
|
17
|
+
return (left.message ?? '').localeCompare(right.message ?? '');
|
|
18
|
+
}
|
|
19
|
+
function toViolationKey(value) {
|
|
20
|
+
return `${value.ruleId}::${value.severity}::${value.file ?? ''}::${value.message ?? ''}`;
|
|
21
|
+
}
|
|
22
|
+
function compareDriftSnapshots(previousSnapshot, currentSnapshot) {
|
|
23
|
+
if (!previousSnapshot) {
|
|
24
|
+
return {
|
|
25
|
+
hasPreviousSnapshot: false,
|
|
26
|
+
newViolations: [],
|
|
27
|
+
resolvedViolations: [],
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
const previousViolationMap = new Map(previousSnapshot.violations.map((violation) => [toViolationKey(violation), violation]));
|
|
31
|
+
const currentViolationMap = new Map(currentSnapshot.violations.map((violation) => [toViolationKey(violation), violation]));
|
|
32
|
+
const newViolations = currentSnapshot.violations
|
|
33
|
+
.filter((violation) => !previousViolationMap.has(toViolationKey(violation)))
|
|
34
|
+
.sort(compareViolation);
|
|
35
|
+
const resolvedViolations = previousSnapshot.violations
|
|
36
|
+
.filter((violation) => !currentViolationMap.has(toViolationKey(violation)))
|
|
37
|
+
.sort(compareViolation);
|
|
38
|
+
return {
|
|
39
|
+
hasPreviousSnapshot: true,
|
|
40
|
+
previousScore: previousSnapshot.score,
|
|
41
|
+
scoreDelta: currentSnapshot.score - previousSnapshot.score,
|
|
42
|
+
errorDelta: currentSnapshot.errors - previousSnapshot.errors,
|
|
43
|
+
warningDelta: currentSnapshot.warnings - previousSnapshot.warnings,
|
|
44
|
+
infoDelta: currentSnapshot.info - previousSnapshot.info,
|
|
45
|
+
newViolations,
|
|
46
|
+
resolvedViolations,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=driftComparator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driftComparator.js","sourceRoot":"","sources":["../../../../../core/src/drift/driftComparator.ts"],"names":[],"mappings":";;AAoCA,sDAmCC;AA1DD,SAAS,gBAAgB,CACxB,IAA4B,EAC5B,KAA6B;IAE7B,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,WAAW,CAAC;IACpB,CAAC;IACD,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACtE,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,WAAW,CAAC;IACpB,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpE,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,eAAe,CAAC;IACxB,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,cAAc,CAAC,KAA6B;IACpD,OAAO,GAAG,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;AAC1F,CAAC;AAED,SAAgB,qBAAqB,CACpC,gBAA2C,EAC3C,eAA8B;IAE9B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvB,OAAO;YACN,mBAAmB,EAAE,KAAK;YAC1B,aAAa,EAAE,EAAE;YACjB,kBAAkB,EAAE,EAAE;SACtB,CAAC;IACH,CAAC;IAED,MAAM,oBAAoB,GAAG,IAAI,GAAG,CACnC,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,SAAS,CAAU,CAAC,CAC/F,CAAC;IACF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAClC,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,SAAS,CAAU,CAAC,CAC9F,CAAC;IACF,MAAM,aAAa,GAAG,eAAe,CAAC,UAAU;SAC9C,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;SAC3E,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACzB,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,UAAU;SACpD,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;SAC1E,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAEzB,OAAO;QACN,mBAAmB,EAAE,IAAI;QACzB,aAAa,EAAE,gBAAgB,CAAC,KAAK;QACrC,UAAU,EAAE,eAAe,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK;QAC1D,UAAU,EAAE,eAAe,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM;QAC5D,YAAY,EAAE,eAAe,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ;QAClE,SAAS,EAAE,eAAe,CAAC,IAAI,GAAG,gBAAgB,CAAC,IAAI;QACvD,aAAa;QACb,kBAAkB;KAClB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,136 @@
|
|
|
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.getLatestDriftSnapshotPath = getLatestDriftSnapshotPath;
|
|
37
|
+
exports.loadLatestDriftSnapshot = loadLatestDriftSnapshot;
|
|
38
|
+
const path = __importStar(require("node:path"));
|
|
39
|
+
const node_fs_1 = require("node:fs");
|
|
40
|
+
const driftSnapshotSchemaVersion = '1.0';
|
|
41
|
+
function clampCount(value) {
|
|
42
|
+
if (!Number.isFinite(value) || value < 0) {
|
|
43
|
+
return 0;
|
|
44
|
+
}
|
|
45
|
+
return Math.floor(value);
|
|
46
|
+
}
|
|
47
|
+
function clampScore(value) {
|
|
48
|
+
if (!Number.isFinite(value)) {
|
|
49
|
+
return 0;
|
|
50
|
+
}
|
|
51
|
+
if (value < 0) {
|
|
52
|
+
return 0;
|
|
53
|
+
}
|
|
54
|
+
if (value > 100) {
|
|
55
|
+
return 100;
|
|
56
|
+
}
|
|
57
|
+
return Math.round(value);
|
|
58
|
+
}
|
|
59
|
+
function normalizeViolation(value) {
|
|
60
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
const typed = value;
|
|
64
|
+
if (typeof typed.ruleId !== 'string' || typed.ruleId.trim().length === 0) {
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
if (typeof typed.severity !== 'string' || typed.severity.trim().length === 0) {
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
ruleId: typed.ruleId.trim(),
|
|
72
|
+
severity: typed.severity.trim(),
|
|
73
|
+
...(typeof typed.file === 'string' && typed.file.trim().length > 0
|
|
74
|
+
? { file: typed.file.trim() }
|
|
75
|
+
: {}),
|
|
76
|
+
...(typeof typed.message === 'string' && typed.message.trim().length > 0
|
|
77
|
+
? { message: typed.message.trim() }
|
|
78
|
+
: {}),
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
function compareViolation(left, right) {
|
|
82
|
+
const ruleCompare = left.ruleId.localeCompare(right.ruleId);
|
|
83
|
+
if (ruleCompare !== 0) {
|
|
84
|
+
return ruleCompare;
|
|
85
|
+
}
|
|
86
|
+
const fileCompare = (left.file ?? '').localeCompare(right.file ?? '');
|
|
87
|
+
if (fileCompare !== 0) {
|
|
88
|
+
return fileCompare;
|
|
89
|
+
}
|
|
90
|
+
const severityCompare = left.severity.localeCompare(right.severity);
|
|
91
|
+
if (severityCompare !== 0) {
|
|
92
|
+
return severityCompare;
|
|
93
|
+
}
|
|
94
|
+
return (left.message ?? '').localeCompare(right.message ?? '');
|
|
95
|
+
}
|
|
96
|
+
function normalizeSnapshot(value) {
|
|
97
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
const typed = value;
|
|
101
|
+
if (typeof typed.generatedAtUtc !== 'string' || typed.generatedAtUtc.trim().length === 0) {
|
|
102
|
+
return undefined;
|
|
103
|
+
}
|
|
104
|
+
const violationsRaw = Array.isArray(typed.violations) ? typed.violations : [];
|
|
105
|
+
const violations = violationsRaw
|
|
106
|
+
.map((entry) => normalizeViolation(entry))
|
|
107
|
+
.filter((entry) => !!entry)
|
|
108
|
+
.sort(compareViolation);
|
|
109
|
+
return {
|
|
110
|
+
schemaVersion: typeof typed.schemaVersion === 'string' && typed.schemaVersion.trim().length > 0
|
|
111
|
+
? typed.schemaVersion.trim()
|
|
112
|
+
: driftSnapshotSchemaVersion,
|
|
113
|
+
generatedAtUtc: typed.generatedAtUtc,
|
|
114
|
+
score: clampScore(Number(typed.score)),
|
|
115
|
+
errors: clampCount(Number(typed.errors)),
|
|
116
|
+
warnings: clampCount(Number(typed.warnings)),
|
|
117
|
+
info: clampCount(Number(typed.info)),
|
|
118
|
+
passed: clampCount(Number(typed.passed)),
|
|
119
|
+
violations,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
function getLatestDriftSnapshotPath(workspaceRoot) {
|
|
123
|
+
return path.join(workspaceRoot, '.archpilot', 'history', 'latest-snapshot.json');
|
|
124
|
+
}
|
|
125
|
+
async function loadLatestDriftSnapshot(workspaceRoot) {
|
|
126
|
+
const snapshotPath = getLatestDriftSnapshotPath(workspaceRoot);
|
|
127
|
+
try {
|
|
128
|
+
const contents = await node_fs_1.promises.readFile(snapshotPath, { encoding: 'utf8' });
|
|
129
|
+
const parsed = JSON.parse(contents);
|
|
130
|
+
return normalizeSnapshot(parsed);
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
return undefined;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=driftSnapshotLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driftSnapshotLoader.js","sourceRoot":"","sources":["../../../../../core/src/drift/driftSnapshotLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driftSnapshotTypes.js","sourceRoot":"","sources":["../../../../../core/src/drift/driftSnapshotTypes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,48 @@
|
|
|
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.writeLatestDriftSnapshot = writeLatestDriftSnapshot;
|
|
37
|
+
const path = __importStar(require("node:path"));
|
|
38
|
+
const node_fs_1 = require("node:fs");
|
|
39
|
+
const driftSnapshotLoader_1 = require("./driftSnapshotLoader");
|
|
40
|
+
async function writeLatestDriftSnapshot(workspaceRoot, snapshot) {
|
|
41
|
+
const snapshotPath = (0, driftSnapshotLoader_1.getLatestDriftSnapshotPath)(workspaceRoot);
|
|
42
|
+
await node_fs_1.promises.mkdir(path.dirname(snapshotPath), { recursive: true });
|
|
43
|
+
await node_fs_1.promises.writeFile(snapshotPath, `${JSON.stringify(snapshot, null, 2)}\n`, {
|
|
44
|
+
encoding: 'utf8',
|
|
45
|
+
});
|
|
46
|
+
return snapshotPath;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=driftSnapshotWriter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driftSnapshotWriter.js","sourceRoot":"","sources":["../../../../../core/src/drift/driftSnapshotWriter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,4DAUC;AAfD,gDAAkC;AAClC,qCAAyC;AAEzC,+DAAmE;AAE5D,KAAK,UAAU,wBAAwB,CAC7C,aAAqB,EACrB,QAAuB;IAEvB,MAAM,YAAY,GAAG,IAAA,gDAA0B,EAAC,aAAa,CAAC,CAAC;IAC/D,MAAM,kBAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,MAAM,kBAAE,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QAC1E,QAAQ,EAAE,MAAM;KAChB,CAAC,CAAC;IACH,OAAO,YAAY,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.compareDriftSnapshots = void 0;
|
|
4
|
+
var driftComparator_1 = require("./driftComparator");
|
|
5
|
+
Object.defineProperty(exports, "compareDriftSnapshots", { enumerable: true, get: function () { return driftComparator_1.compareDriftSnapshots; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../core/src/drift/index.ts"],"names":[],"mappings":";;;AAAA,qDAAgF;AAAvE,wHAAA,qBAAqB,OAAA"}
|