projscan 4.7.0 → 4.9.1
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/README.md +104 -56
- package/dist/cli/commands/bugHunt.js +37 -8
- package/dist/cli/commands/bugHunt.js.map +1 -1
- package/dist/cli/commands/preflight.js +18 -2
- package/dist/cli/commands/preflight.js.map +1 -1
- package/dist/cli/commands/privacyCheck.js +5 -2
- package/dist/cli/commands/privacyCheck.js.map +1 -1
- package/dist/cli/commands/releaseTrain.js +9 -1
- package/dist/cli/commands/releaseTrain.js.map +1 -1
- package/dist/cli/commands/start.js +5 -28
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/startAction.d.ts +2 -1
- package/dist/cli/commands/startAction.js +4 -4
- package/dist/cli/commands/startAction.js.map +1 -1
- package/dist/cli/commands/startConsole.d.ts +1 -0
- package/dist/cli/commands/startConsole.js +83 -7
- package/dist/cli/commands/startConsole.js.map +1 -1
- package/dist/cli/commands/startOptionsRegistration.d.ts +2 -0
- package/dist/cli/commands/startOptionsRegistration.js +29 -0
- package/dist/cli/commands/startOptionsRegistration.js.map +1 -0
- package/dist/core/adoption.js +13 -0
- package/dist/core/adoption.js.map +1 -1
- package/dist/core/ast.d.ts +2 -17
- package/dist/core/ast.js +4 -33
- package/dist/core/ast.js.map +1 -1
- package/dist/core/astResult.d.ts +20 -0
- package/dist/core/astResult.js +39 -0
- package/dist/core/astResult.js.map +1 -0
- package/dist/core/bugHunt.js +62 -22
- package/dist/core/bugHunt.js.map +1 -1
- package/dist/core/bugHuntPreflightFindings.js +5 -2
- package/dist/core/bugHuntPreflightFindings.js.map +1 -1
- package/dist/core/codeGraph.d.ts +1 -16
- package/dist/core/codeGraph.js +4 -89
- package/dist/core/codeGraph.js.map +1 -1
- package/dist/core/codeGraphAdapterContexts.d.ts +8 -0
- package/dist/core/codeGraphAdapterContexts.js +14 -0
- package/dist/core/codeGraphAdapterContexts.js.map +1 -0
- package/dist/core/codeGraphIncremental.d.ts +17 -0
- package/dist/core/codeGraphIncremental.js +64 -0
- package/dist/core/codeGraphIncremental.js.map +1 -0
- package/dist/core/collisionDetector.d.ts +1 -0
- package/dist/core/collisionDetector.js +3 -0
- package/dist/core/collisionDetector.js.map +1 -1
- package/dist/core/coordination.js +23 -5
- package/dist/core/coordination.js.map +1 -1
- package/dist/core/coordinationEvidence.d.ts +1 -0
- package/dist/core/coordinationEvidence.js.map +1 -1
- package/dist/core/frameworkAstroSources.d.ts +2 -0
- package/dist/core/frameworkAstroSources.js +71 -0
- package/dist/core/frameworkAstroSources.js.map +1 -0
- package/dist/core/frameworkExpressSources.js +6 -31
- package/dist/core/frameworkExpressSources.js.map +1 -1
- package/dist/core/frameworkFastifySources.js +5 -22
- package/dist/core/frameworkFastifySources.js.map +1 -1
- package/dist/core/frameworkHonoSources.js +5 -24
- package/dist/core/frameworkHonoSources.js.map +1 -1
- package/dist/core/frameworkKoaSources.js +5 -24
- package/dist/core/frameworkKoaSources.js.map +1 -1
- package/dist/core/frameworkSourceContext.d.ts +15 -0
- package/dist/core/frameworkSourceContext.js +2 -0
- package/dist/core/frameworkSourceContext.js.map +1 -0
- package/dist/core/frameworkSourceMatching.d.ts +6 -0
- package/dist/core/frameworkSourceMatching.js +29 -0
- package/dist/core/frameworkSourceMatching.js.map +1 -0
- package/dist/core/frameworkSourceResolvers.d.ts +2 -0
- package/dist/core/frameworkSourceResolvers.js +51 -0
- package/dist/core/frameworkSourceResolvers.js.map +1 -0
- package/dist/core/frameworkSources.d.ts +2 -14
- package/dist/core/frameworkSources.js +11 -38
- package/dist/core/frameworkSources.js.map +1 -1
- package/dist/core/frameworkSvelteKitSources.d.ts +2 -0
- package/dist/core/frameworkSvelteKitSources.js +118 -0
- package/dist/core/frameworkSvelteKitSources.js.map +1 -0
- package/dist/core/intentRouter.d.ts +1 -1
- package/dist/core/intentRouter.js +2 -8
- package/dist/core/intentRouter.js.map +1 -1
- package/dist/core/intentRouterCatalog.js +40 -3
- package/dist/core/intentRouterCatalog.js.map +1 -1
- package/dist/core/intentRouterDependencySignals.d.ts +1 -0
- package/dist/core/intentRouterDependencySignals.js +14 -0
- package/dist/core/intentRouterDependencySignals.js.map +1 -1
- package/dist/core/intentRouterKeywordEarlyGuards.js +24 -1
- package/dist/core/intentRouterKeywordEarlyGuards.js.map +1 -1
- package/dist/core/intentRouterKeywordToolGuards.js +5 -0
- package/dist/core/intentRouterKeywordToolGuards.js.map +1 -1
- package/dist/core/intentRouterKeywordWeights.js +29 -0
- package/dist/core/intentRouterKeywordWeights.js.map +1 -1
- package/dist/core/intentRouterPreflightSignals.js +7 -2
- package/dist/core/intentRouterPreflightSignals.js.map +1 -1
- package/dist/core/intentRouterRegressionKeywordMatches.js +9 -2
- package/dist/core/intentRouterRegressionKeywordMatches.js.map +1 -1
- package/dist/core/intentRouterRegressionSignals.d.ts +1 -0
- package/dist/core/intentRouterRegressionSignals.js +11 -1
- package/dist/core/intentRouterRegressionSignals.js.map +1 -1
- package/dist/core/intentRouterReleaseSignals.js +5 -20
- package/dist/core/intentRouterReleaseSignals.js.map +1 -1
- package/dist/core/intentRouterResolution.d.ts +3 -0
- package/dist/core/intentRouterResolution.js +11 -0
- package/dist/core/intentRouterResolution.js.map +1 -0
- package/dist/core/intentRouterVerificationSignals.js +5 -0
- package/dist/core/intentRouterVerificationSignals.js.map +1 -1
- package/dist/core/intentRouterWorkSignals.js +4 -2
- package/dist/core/intentRouterWorkSignals.js.map +1 -1
- package/dist/core/languages/pythonManifests.js +6 -19
- package/dist/core/languages/pythonManifests.js.map +1 -1
- package/dist/core/languages/pythonPep508.js +1 -1
- package/dist/core/languages/pythonPep508.js.map +1 -1
- package/dist/core/languages/pythonProjectEvidence.js +4 -4
- package/dist/core/languages/pythonProjectEvidence.js.map +1 -1
- package/dist/core/languages/pythonPyproject.js +1 -1
- package/dist/core/languages/pythonPyproject.js.map +1 -1
- package/dist/core/languages/pythonPyprojectEvidence.d.ts +7 -0
- package/dist/core/languages/pythonPyprojectEvidence.js +23 -0
- package/dist/core/languages/pythonPyprojectEvidence.js.map +1 -0
- package/dist/core/languages/pythonRequirements.d.ts +2 -0
- package/dist/core/languages/pythonRequirements.js +74 -9
- package/dist/core/languages/pythonRequirements.js.map +1 -1
- package/dist/core/pluginAnalyzerLoading.d.ts +3 -0
- package/dist/core/pluginAnalyzerLoading.js +55 -0
- package/dist/core/pluginAnalyzerLoading.js.map +1 -0
- package/dist/core/pluginAnalyzerRunning.d.ts +10 -0
- package/dist/core/pluginAnalyzerRunning.js +32 -0
- package/dist/core/pluginAnalyzerRunning.js.map +1 -0
- package/dist/core/pluginIssueValidation.d.ts +2 -0
- package/dist/core/pluginIssueValidation.js +22 -0
- package/dist/core/pluginIssueValidation.js.map +1 -0
- package/dist/core/pluginManifestDiscovery.d.ts +25 -0
- package/dist/core/pluginManifestDiscovery.js +80 -0
- package/dist/core/pluginManifestDiscovery.js.map +1 -0
- package/dist/core/pluginModuleLoading.d.ts +8 -0
- package/dist/core/pluginModuleLoading.js +91 -0
- package/dist/core/pluginModuleLoading.js.map +1 -0
- package/dist/core/pluginReporterLoading.d.ts +41 -0
- package/dist/core/pluginReporterLoading.js +105 -0
- package/dist/core/pluginReporterLoading.js.map +1 -0
- package/dist/core/pluginRuntimeTypes.d.ts +20 -0
- package/dist/core/pluginRuntimeTypes.js +2 -0
- package/dist/core/pluginRuntimeTypes.js.map +1 -0
- package/dist/core/plugins.d.ts +9 -86
- package/dist/core/plugins.js +12 -350
- package/dist/core/plugins.js.map +1 -1
- package/dist/core/preflight.d.ts +1 -2
- package/dist/core/preflight.js +4 -91
- package/dist/core/preflight.js.map +1 -1
- package/dist/core/preflightEvidence.js +11 -0
- package/dist/core/preflightEvidence.js.map +1 -1
- package/dist/core/preflightInputs.d.ts +1 -0
- package/dist/core/preflightInputs.js.map +1 -1
- package/dist/core/preflightReasons.d.ts +21 -0
- package/dist/core/preflightReasons.js +54 -0
- package/dist/core/preflightReasons.js.map +1 -0
- package/dist/core/preflightReleaseScale.js +16 -5
- package/dist/core/preflightReleaseScale.js.map +1 -1
- package/dist/core/preflightReport.d.ts +9 -0
- package/dist/core/preflightReport.js +67 -0
- package/dist/core/preflightReport.js.map +1 -0
- package/dist/core/preflightSuggestedActions.js +3 -1
- package/dist/core/preflightSuggestedActions.js.map +1 -1
- package/dist/core/preflightVerdict.js +3 -0
- package/dist/core/preflightVerdict.js.map +1 -1
- package/dist/core/qualityScorecard.js +39 -21
- package/dist/core/qualityScorecard.js.map +1 -1
- package/dist/core/releaseEvidenceArtifacts.js +12 -4
- package/dist/core/releaseEvidenceArtifacts.js.map +1 -1
- package/dist/core/releaseTrain.d.ts +11 -1
- package/dist/core/releaseTrain.js +54 -2
- package/dist/core/releaseTrain.js.map +1 -1
- package/dist/core/repositoryScanner.js +5 -2
- package/dist/core/repositoryScanner.js.map +1 -1
- package/dist/core/review.js +2 -47
- package/dist/core/review.js.map +1 -1
- package/dist/core/reviewChangedReport.d.ts +13 -0
- package/dist/core/reviewChangedReport.js +38 -0
- package/dist/core/reviewChangedReport.js.map +1 -0
- package/dist/core/reviewComputation.d.ts +9 -0
- package/dist/core/reviewComputation.js +14 -0
- package/dist/core/reviewComputation.js.map +1 -0
- package/dist/core/reviewContractChanges.js +22 -8
- package/dist/core/reviewContractChanges.js.map +1 -1
- package/dist/core/reviewDataflow.js +18 -0
- package/dist/core/reviewDataflow.js.map +1 -1
- package/dist/core/reviewVerdict.js +37 -5
- package/dist/core/reviewVerdict.js.map +1 -1
- package/dist/core/roadmapCatalog.js +7 -203
- package/dist/core/roadmapCatalog.js.map +1 -1
- package/dist/core/roadmapCatalogPost44.d.ts +2 -0
- package/dist/core/roadmapCatalogPost44.js +205 -0
- package/dist/core/roadmapCatalogPost44.js.map +1 -0
- package/dist/core/roadmapCatalogTypes.d.ts +6 -0
- package/dist/core/roadmapCatalogTypes.js +2 -0
- package/dist/core/roadmapCatalogTypes.js.map +1 -0
- package/dist/core/startAdoptionGaps.js +1 -1
- package/dist/core/startAdoptionGaps.js.map +1 -1
- package/dist/core/startClaimRouteCriteria.d.ts +7 -0
- package/dist/core/startClaimRouteCriteria.js +16 -0
- package/dist/core/startClaimRouteCriteria.js.map +1 -0
- package/dist/core/startClaimTargets.d.ts +2 -0
- package/dist/core/startClaimTargets.js +14 -0
- package/dist/core/startClaimTargets.js.map +1 -0
- package/dist/core/startCouplingRouteCriteria.d.ts +2 -0
- package/dist/core/startCouplingRouteCriteria.js +13 -0
- package/dist/core/startCouplingRouteCriteria.js.map +1 -0
- package/dist/core/startDailyWorkflows.d.ts +2 -0
- package/dist/core/startDailyWorkflows.js +50 -0
- package/dist/core/startDailyWorkflows.js.map +1 -0
- package/dist/core/startDependencyRouteCriteria.d.ts +2 -0
- package/dist/core/startDependencyRouteCriteria.js +43 -0
- package/dist/core/startDependencyRouteCriteria.js.map +1 -0
- package/dist/core/startEnvTargets.d.ts +1 -0
- package/dist/core/startEnvTargets.js +9 -0
- package/dist/core/startEnvTargets.js.map +1 -0
- package/dist/core/startFileRouteCriteria.d.ts +2 -0
- package/dist/core/startFileRouteCriteria.js +56 -0
- package/dist/core/startFileRouteCriteria.js.map +1 -0
- package/dist/core/startFileTargets.d.ts +2 -0
- package/dist/core/startFileTargets.js +19 -0
- package/dist/core/startFileTargets.js.map +1 -0
- package/dist/core/startFixedRouteCriteria.d.ts +1 -0
- package/dist/core/startFixedRouteCriteria.js +90 -0
- package/dist/core/startFixedRouteCriteria.js.map +1 -0
- package/dist/core/startGeneratedConfigSearchTargets.d.ts +1 -0
- package/dist/core/startGeneratedConfigSearchTargets.js +22 -0
- package/dist/core/startGeneratedConfigSearchTargets.js.map +1 -0
- package/dist/core/startGraphTargets.d.ts +10 -0
- package/dist/core/startGraphTargets.js +82 -0
- package/dist/core/startGraphTargets.js.map +1 -0
- package/dist/core/startHighPrioritySearchTargets.d.ts +1 -0
- package/dist/core/startHighPrioritySearchTargets.js +24 -0
- package/dist/core/startHighPrioritySearchTargets.js.map +1 -0
- package/dist/core/startImpactRouteCriteria.d.ts +7 -0
- package/dist/core/startImpactRouteCriteria.js +14 -0
- package/dist/core/startImpactRouteCriteria.js.map +1 -0
- package/dist/core/startImpactTargets.d.ts +1 -0
- package/dist/core/startImpactTargets.js +18 -0
- package/dist/core/startImpactTargets.js.map +1 -0
- package/dist/core/startIntentApiContractQueries.d.ts +1 -0
- package/dist/core/startIntentApiContractQueries.js +50 -0
- package/dist/core/startIntentApiContractQueries.js.map +1 -0
- package/dist/core/startIntentAuthorizationQueries.d.ts +1 -0
- package/dist/core/startIntentAuthorizationQueries.js +29 -0
- package/dist/core/startIntentAuthorizationQueries.js.map +1 -0
- package/dist/core/startIntentBackgroundWorkQueries.d.ts +1 -0
- package/dist/core/startIntentBackgroundWorkQueries.js +23 -0
- package/dist/core/startIntentBackgroundWorkQueries.js.map +1 -0
- package/dist/core/startIntentCommunicationArtifactQueries.d.ts +1 -0
- package/dist/core/startIntentCommunicationArtifactQueries.js +25 -0
- package/dist/core/startIntentCommunicationArtifactQueries.js.map +1 -0
- package/dist/core/startIntentDataAccessQueries.d.ts +1 -0
- package/dist/core/startIntentDataAccessQueries.js +60 -0
- package/dist/core/startIntentDataAccessQueries.js.map +1 -0
- package/dist/core/startIntentDataContractQueries.d.ts +1 -0
- package/dist/core/startIntentDataContractQueries.js +75 -0
- package/dist/core/startIntentDataContractQueries.js.map +1 -0
- package/dist/core/startIntentDomainSearchQueries.d.ts +1 -0
- package/dist/core/startIntentDomainSearchQueries.js +47 -0
- package/dist/core/startIntentDomainSearchQueries.js.map +1 -0
- package/dist/core/startIntentDomainWorkflowQueries.d.ts +1 -0
- package/dist/core/startIntentDomainWorkflowQueries.js +28 -0
- package/dist/core/startIntentDomainWorkflowQueries.js.map +1 -0
- package/dist/core/startIntentFrontendPageRouteQueries.d.ts +1 -0
- package/dist/core/startIntentFrontendPageRouteQueries.js +26 -0
- package/dist/core/startIntentFrontendPageRouteQueries.js.map +1 -0
- package/dist/core/startIntentInfraArtifactQueries.d.ts +1 -0
- package/dist/core/startIntentInfraArtifactQueries.js +62 -0
- package/dist/core/startIntentInfraArtifactQueries.js.map +1 -0
- package/dist/core/startIntentIntegrationQueries.d.ts +1 -0
- package/dist/core/startIntentIntegrationQueries.js +96 -0
- package/dist/core/startIntentIntegrationQueries.js.map +1 -0
- package/dist/core/startIntentNavigationLayoutQueries.d.ts +1 -0
- package/dist/core/startIntentNavigationLayoutQueries.js +22 -0
- package/dist/core/startIntentNavigationLayoutQueries.js.map +1 -0
- package/dist/core/startIntentObservabilityQueries.d.ts +1 -0
- package/dist/core/startIntentObservabilityQueries.js +26 -0
- package/dist/core/startIntentObservabilityQueries.js.map +1 -0
- package/dist/core/startIntentReliabilityQueries.d.ts +1 -0
- package/dist/core/startIntentReliabilityQueries.js +85 -0
- package/dist/core/startIntentReliabilityQueries.js.map +1 -0
- package/dist/core/startIntentStateManagementQueries.d.ts +1 -0
- package/dist/core/startIntentStateManagementQueries.js +61 -0
- package/dist/core/startIntentStateManagementQueries.js.map +1 -0
- package/dist/core/startIntentStyleSystemQueries.d.ts +1 -0
- package/dist/core/startIntentStyleSystemQueries.js +26 -0
- package/dist/core/startIntentStyleSystemQueries.js.map +1 -0
- package/dist/core/startIntentTargetText.d.ts +2 -0
- package/dist/core/startIntentTargetText.js +9 -0
- package/dist/core/startIntentTargetText.js.map +1 -0
- package/dist/core/startIntentTargets.d.ts +10 -23
- package/dist/core/startIntentTargets.js +15 -1095
- package/dist/core/startIntentTargets.js.map +1 -1
- package/dist/core/startIntentTestDataQueries.d.ts +1 -0
- package/dist/core/startIntentTestDataQueries.js +28 -0
- package/dist/core/startIntentTestDataQueries.js.map +1 -0
- package/dist/core/startIntentToolingConfigQueries.d.ts +1 -0
- package/dist/core/startIntentToolingConfigQueries.js +31 -0
- package/dist/core/startIntentToolingConfigQueries.js.map +1 -0
- package/dist/core/startIntentUiInteractionQueries.d.ts +1 -0
- package/dist/core/startIntentUiInteractionQueries.js +71 -0
- package/dist/core/startIntentUiInteractionQueries.js.map +1 -0
- package/dist/core/startIssueTargets.d.ts +1 -0
- package/dist/core/startIssueTargets.js +19 -0
- package/dist/core/startIssueTargets.js.map +1 -0
- package/dist/core/startMissionControl.js +8 -2
- package/dist/core/startMissionControl.js.map +1 -1
- package/dist/core/startMissionPolicy.d.ts +2 -2
- package/dist/core/startMissionPolicy.js +65 -7
- package/dist/core/startMissionPolicy.js.map +1 -1
- package/dist/core/startMode.d.ts +4 -1
- package/dist/core/startMode.js +49 -9
- package/dist/core/startMode.js.map +1 -1
- package/dist/core/startOptions.d.ts +2 -2
- package/dist/core/startOptions.js +1 -1
- package/dist/core/startOptions.js.map +1 -1
- package/dist/core/startOwnershipSearchTargets.d.ts +2 -0
- package/dist/core/startOwnershipSearchTargets.js +23 -0
- package/dist/core/startOwnershipSearchTargets.js.map +1 -0
- package/dist/core/startPackageTargets.d.ts +4 -0
- package/dist/core/startPackageTargets.js +91 -0
- package/dist/core/startPackageTargets.js.map +1 -0
- package/dist/core/startPreflightRouteCriteria.d.ts +11 -0
- package/dist/core/startPreflightRouteCriteria.js +29 -0
- package/dist/core/startPreflightRouteCriteria.js.map +1 -0
- package/dist/core/startProductPlanningRouteCriteria.d.ts +8 -0
- package/dist/core/startProductPlanningRouteCriteria.js +29 -0
- package/dist/core/startProductPlanningRouteCriteria.js.map +1 -0
- package/dist/core/startQuotedTextTargets.d.ts +1 -0
- package/dist/core/startQuotedTextTargets.js +7 -0
- package/dist/core/startQuotedTextTargets.js.map +1 -0
- package/dist/core/startRegressionRouteCriteria.d.ts +3 -0
- package/dist/core/startRegressionRouteCriteria.js +62 -0
- package/dist/core/startRegressionRouteCriteria.js.map +1 -0
- package/dist/core/startReportBuilder.d.ts +1 -0
- package/dist/core/startReportBuilder.js +2 -1
- package/dist/core/startReportBuilder.js.map +1 -1
- package/dist/core/startReportContext.d.ts +1 -0
- package/dist/core/startReportContext.js +3 -0
- package/dist/core/startReportContext.js.map +1 -1
- package/dist/core/startReportScopeTargets.d.ts +1 -0
- package/dist/core/startReportScopeTargets.js +56 -0
- package/dist/core/startReportScopeTargets.js.map +1 -0
- package/dist/core/startRouteActions.js +39 -1
- package/dist/core/startRouteActions.js.map +1 -1
- package/dist/core/startShellArgs.d.ts +4 -0
- package/dist/core/startShellArgs.js +19 -0
- package/dist/core/startShellArgs.js.map +1 -0
- package/dist/core/startSuccessCriteria.d.ts +2 -3
- package/dist/core/startSuccessCriteria.js +15 -419
- package/dist/core/startSuccessCriteria.js.map +1 -1
- package/dist/core/startSymbolTargets.d.ts +2 -0
- package/dist/core/startSymbolTargets.js +28 -0
- package/dist/core/startSymbolTargets.js.map +1 -0
- package/dist/core/startTestRouteSearchTargets.d.ts +1 -0
- package/dist/core/startTestRouteSearchTargets.js +34 -0
- package/dist/core/startTestRouteSearchTargets.js.map +1 -0
- package/dist/core/startUnderstandRouteCriteria.d.ts +3 -0
- package/dist/core/startUnderstandRouteCriteria.js +97 -0
- package/dist/core/startUnderstandRouteCriteria.js.map +1 -0
- package/dist/core/telemetry.d.ts +9 -89
- package/dist/core/telemetry.js +33 -391
- package/dist/core/telemetry.js.map +1 -1
- package/dist/core/telemetryConfig.d.ts +58 -0
- package/dist/core/telemetryConfig.js +171 -0
- package/dist/core/telemetryConfig.js.map +1 -0
- package/dist/core/telemetryEvents.d.ts +57 -0
- package/dist/core/telemetryEvents.js +143 -0
- package/dist/core/telemetryEvents.js.map +1 -0
- package/dist/core/telemetryFlushing.d.ts +10 -0
- package/dist/core/telemetryFlushing.js +42 -0
- package/dist/core/telemetryFlushing.js.map +1 -0
- package/dist/core/telemetryRecording.d.ts +26 -0
- package/dist/core/telemetryRecording.js +38 -0
- package/dist/core/telemetryRecording.js.map +1 -0
- package/dist/core/telemetrySender.d.ts +9 -0
- package/dist/core/telemetrySender.js +22 -0
- package/dist/core/telemetrySender.js.map +1 -0
- package/dist/core/workplan.js +23 -11
- package/dist/core/workplan.js.map +1 -1
- package/dist/index.d.ts +4 -60
- package/dist/index.js +4 -60
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.js +2 -13
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/serverMessageHandling.d.ts +3 -0
- package/dist/mcp/serverMessageHandling.js +16 -0
- package/dist/mcp/serverMessageHandling.js.map +1 -0
- package/dist/mcp/toolDefinitions.d.ts +3 -0
- package/dist/mcp/toolDefinitions.js +15 -0
- package/dist/mcp/toolDefinitions.js.map +1 -0
- package/dist/mcp/tools.js +2 -12
- package/dist/mcp/tools.js.map +1 -1
- package/dist/projscan-sbom.cdx.json +6 -6
- package/dist/publicAgent.d.ts +22 -0
- package/dist/publicAgent.js +23 -0
- package/dist/publicAgent.js.map +1 -0
- package/dist/publicCore.d.ts +29 -0
- package/dist/publicCore.js +30 -0
- package/dist/publicCore.js.map +1 -0
- package/dist/publicLanguages.d.ts +1 -0
- package/dist/publicLanguages.js +2 -0
- package/dist/publicLanguages.js.map +1 -0
- package/dist/publicMcp.d.ts +8 -0
- package/dist/publicMcp.js +9 -0
- package/dist/publicMcp.js.map +1 -0
- package/dist/reporters/htmlAnalysisReporter.d.ts +3 -0
- package/dist/reporters/htmlAnalysisReporter.js +98 -0
- package/dist/reporters/htmlAnalysisReporter.js.map +1 -0
- package/dist/reporters/htmlCoverageReporter.d.ts +2 -0
- package/dist/reporters/htmlCoverageReporter.js +52 -0
- package/dist/reporters/htmlCoverageReporter.js.map +1 -0
- package/dist/reporters/htmlImpactReporter.d.ts +2 -0
- package/dist/reporters/htmlImpactReporter.js +41 -0
- package/dist/reporters/htmlImpactReporter.js.map +1 -0
- package/dist/reporters/htmlPrDiffReporter.d.ts +2 -0
- package/dist/reporters/htmlPrDiffReporter.js +84 -0
- package/dist/reporters/htmlPrDiffReporter.js.map +1 -0
- package/dist/reporters/htmlReporter.d.ts +20 -9
- package/dist/reporters/htmlReporter.js +7 -365
- package/dist/reporters/htmlReporter.js.map +1 -1
- package/dist/reporters/htmlReviewReporter.d.ts +2 -0
- package/dist/reporters/htmlReviewReporter.js +94 -0
- package/dist/reporters/htmlReviewReporter.js.map +1 -0
- package/dist/reporters/htmlShared.d.ts +7 -0
- package/dist/reporters/htmlShared.js +106 -0
- package/dist/reporters/htmlShared.js.map +1 -0
- package/dist/tool-manifest.json +2 -2
- package/dist/types/bugHunt.d.ts +1 -1
- package/dist/types/preflight.d.ts +19 -0
- package/dist/types/releaseTrain.d.ts +7 -0
- package/dist/types/start.d.ts +7 -451
- package/dist/types/startCommon.d.ts +87 -0
- package/dist/types/startCommon.js +2 -0
- package/dist/types/startCommon.js.map +1 -0
- package/dist/types/startExecution.d.ts +44 -0
- package/dist/types/startExecution.js +2 -0
- package/dist/types/startExecution.js.map +1 -0
- package/dist/types/startMissionControl.d.ts +92 -0
- package/dist/types/startMissionControl.js +2 -0
- package/dist/types/startMissionControl.js.map +1 -0
- package/dist/types/startMissionProof.d.ts +91 -0
- package/dist/types/startMissionProof.js +2 -0
- package/dist/types/startMissionProof.js.map +1 -0
- package/dist/types/startMissionResume.d.ts +100 -0
- package/dist/types/startMissionResume.js +2 -0
- package/dist/types/startMissionResume.js.map +1 -0
- package/dist/types/startMissionReview.d.ts +45 -0
- package/dist/types/startMissionReview.js +2 -0
- package/dist/types/startMissionReview.js.map +1 -0
- package/dist/types/startMissionTooling.d.ts +16 -0
- package/dist/types/startMissionTooling.js +2 -0
- package/dist/types/startMissionTooling.js.map +1 -0
- package/dist/utils/changedFiles.d.ts +1 -0
- package/dist/utils/changedFiles.js +7 -4
- package/dist/utils/changedFiles.js.map +1 -1
- package/dist/utils/fileWalker.d.ts +1 -0
- package/dist/utils/fileWalker.js +6 -1
- package/dist/utils/fileWalker.js.map +1 -1
- package/docs/GUIDE.md +55 -14
- package/docs/ROADMAP.md +42 -17
- package/docs/demos/projscan-4-1-demo.html +4 -4
- package/docs/examples/adoption-workflows.md +60 -1
- package/docs/examples/swarm-coordination.md +11 -2
- package/docs/projscan-mission-control.gif +0 -0
- package/docs/projscan-mission-control.png +0 -0
- package/docs/projscan-mission-proof.gif +0 -0
- package/docs/projscan-proof-router.png +0 -0
- package/package.json +12 -12
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import type { WorkplanPriority } from './workplan.js';
|
|
2
|
+
export interface StartWorkflowRecommendation {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
why: string;
|
|
6
|
+
commands: string[];
|
|
7
|
+
mcpTools: string[];
|
|
8
|
+
}
|
|
9
|
+
export interface StartRisk {
|
|
10
|
+
id: string;
|
|
11
|
+
priority: WorkplanPriority;
|
|
12
|
+
title: string;
|
|
13
|
+
source: string;
|
|
14
|
+
files: string[];
|
|
15
|
+
command: string;
|
|
16
|
+
}
|
|
17
|
+
export interface StartAdoptionGap {
|
|
18
|
+
id: string;
|
|
19
|
+
status: 'info' | 'warn' | 'fail';
|
|
20
|
+
title: string;
|
|
21
|
+
summary: string;
|
|
22
|
+
command?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface StartAdoptionLoopMetric {
|
|
25
|
+
id: string;
|
|
26
|
+
label: string;
|
|
27
|
+
target: string;
|
|
28
|
+
command?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface StartAdoptionLoop {
|
|
31
|
+
cadence: 'every_pr';
|
|
32
|
+
why: string;
|
|
33
|
+
metrics: StartAdoptionLoopMetric[];
|
|
34
|
+
nextCommands: string[];
|
|
35
|
+
}
|
|
36
|
+
export interface StartRoadmapWorkstream {
|
|
37
|
+
id: string;
|
|
38
|
+
title: string;
|
|
39
|
+
priority: WorkplanPriority;
|
|
40
|
+
track: string;
|
|
41
|
+
verificationCommand?: string;
|
|
42
|
+
}
|
|
43
|
+
export interface StartRoadmapPreview {
|
|
44
|
+
policy: 'product-readiness-plan';
|
|
45
|
+
readOnly: true;
|
|
46
|
+
lines: string[];
|
|
47
|
+
workstreams: StartRoadmapWorkstream[];
|
|
48
|
+
}
|
|
49
|
+
export interface StartFirstTenMinutesStep {
|
|
50
|
+
id: string;
|
|
51
|
+
label: string;
|
|
52
|
+
why: string;
|
|
53
|
+
command: string;
|
|
54
|
+
}
|
|
55
|
+
export interface StartFirstTenMinutes {
|
|
56
|
+
title: string;
|
|
57
|
+
outcome: string;
|
|
58
|
+
commands: StartFirstTenMinutesStep[];
|
|
59
|
+
}
|
|
60
|
+
export type StartDailyWorkflowId = 'before_edit' | 'before_handoff' | 'release_candidate_review';
|
|
61
|
+
export interface StartDailyWorkflow {
|
|
62
|
+
id: StartDailyWorkflowId;
|
|
63
|
+
name: string;
|
|
64
|
+
outcome: string;
|
|
65
|
+
commands: string[];
|
|
66
|
+
successCriteria: string[];
|
|
67
|
+
}
|
|
68
|
+
export type StartModeSource = 'explicit' | 'intent' | 'default';
|
|
69
|
+
export type StartMissionControlStatus = 'ready' | 'needs_setup' | 'needs_attention' | 'blocked';
|
|
70
|
+
export interface StartRoutedIntent {
|
|
71
|
+
intent: string;
|
|
72
|
+
category: string;
|
|
73
|
+
tool: string;
|
|
74
|
+
cli: string;
|
|
75
|
+
why: string;
|
|
76
|
+
example: string;
|
|
77
|
+
confidence: 'high' | 'medium' | 'low';
|
|
78
|
+
rank: number;
|
|
79
|
+
score: number;
|
|
80
|
+
matchedKeywords: string[];
|
|
81
|
+
}
|
|
82
|
+
export interface StartUnresolvedInput {
|
|
83
|
+
name: string;
|
|
84
|
+
placeholder: string;
|
|
85
|
+
sourceAction: string;
|
|
86
|
+
instruction: string;
|
|
87
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startCommon.js","sourceRoot":"","sources":["../../src/types/startCommon.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export type StartExecutionPhaseId = 'next_action' | 'ready_now' | 'resolve_inputs' | 'follow_up' | 'proof' | 'done_when';
|
|
2
|
+
export type StartExecutionStatus = 'ready' | 'blocked' | 'pending';
|
|
3
|
+
export type StartExecutionStepKind = 'tool' | 'input' | 'proof' | 'criterion' | 'handoff';
|
|
4
|
+
export interface StartExecutionStep {
|
|
5
|
+
id: string;
|
|
6
|
+
kind: StartExecutionStepKind;
|
|
7
|
+
status: StartExecutionStatus;
|
|
8
|
+
label: string;
|
|
9
|
+
command?: string;
|
|
10
|
+
tool?: string;
|
|
11
|
+
args?: Record<string, unknown>;
|
|
12
|
+
instruction?: string;
|
|
13
|
+
placeholder?: string;
|
|
14
|
+
dependsOn?: string[];
|
|
15
|
+
blockedBy?: string[];
|
|
16
|
+
unlocks?: string[];
|
|
17
|
+
}
|
|
18
|
+
export interface StartExecutionPhase {
|
|
19
|
+
id: StartExecutionPhaseId;
|
|
20
|
+
title: string;
|
|
21
|
+
status: StartExecutionStatus;
|
|
22
|
+
steps: StartExecutionStep[];
|
|
23
|
+
}
|
|
24
|
+
export interface StartExecutionCursor {
|
|
25
|
+
phaseId: StartExecutionPhaseId;
|
|
26
|
+
stepId: string;
|
|
27
|
+
status: StartExecutionStatus;
|
|
28
|
+
kind: StartExecutionStepKind;
|
|
29
|
+
label: string;
|
|
30
|
+
command?: string;
|
|
31
|
+
tool?: string;
|
|
32
|
+
args?: Record<string, unknown>;
|
|
33
|
+
instruction?: string;
|
|
34
|
+
placeholder?: string;
|
|
35
|
+
blockedBy?: string[];
|
|
36
|
+
unlocks?: string[];
|
|
37
|
+
reason: string;
|
|
38
|
+
}
|
|
39
|
+
export interface StartExecutionPlan {
|
|
40
|
+
summary: string;
|
|
41
|
+
currentPhase: StartExecutionPhaseId;
|
|
42
|
+
cursor: StartExecutionCursor;
|
|
43
|
+
phases: StartExecutionPhase[];
|
|
44
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startExecution.js","sourceRoot":"","sources":["../../src/types/startExecution.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import type { PreflightSuggestedAction, PreflightVerdict } from './preflight.js';
|
|
2
|
+
import type { QualityScorecardVerdict } from './qualityScorecard.js';
|
|
3
|
+
import type { SessionCoordinationHint } from './session.js';
|
|
4
|
+
import type { StartAdoptionGap, StartAdoptionLoop, StartDailyWorkflow, StartFirstTenMinutes, StartModeSource, StartMissionControlStatus, StartRisk, StartRoadmapPreview, StartRoutedIntent, StartUnresolvedInput, StartWorkflowRecommendation } from './startCommon.js';
|
|
5
|
+
import type { StartExecutionPlan } from './startExecution.js';
|
|
6
|
+
import type { MissionOutcome } from './startMissionProof.js';
|
|
7
|
+
import type { StartMissionHandoff, StartMissionResume, StartMissionRunbook, StartMissionTaskCard } from './startMissionResume.js';
|
|
8
|
+
import type { StartMissionReviewGate } from './startMissionReview.js';
|
|
9
|
+
import type { FixFirstRecommendation, WorkplanMode } from './workplan.js';
|
|
10
|
+
import type { WorkplanHandoffPayload } from './workplanHandoff.js';
|
|
11
|
+
export interface StartMissionControl {
|
|
12
|
+
intent?: string;
|
|
13
|
+
status: StartMissionControlStatus;
|
|
14
|
+
headline: string;
|
|
15
|
+
whyNow: string;
|
|
16
|
+
primaryAction: PreflightSuggestedAction;
|
|
17
|
+
actionPlan: PreflightSuggestedAction[];
|
|
18
|
+
readyActions: PreflightSuggestedAction[];
|
|
19
|
+
routedIntent?: StartRoutedIntent;
|
|
20
|
+
alternatives?: StartRoutedIntent[];
|
|
21
|
+
unresolvedInputs: StartUnresolvedInput[];
|
|
22
|
+
guardrails: PreflightSuggestedAction[];
|
|
23
|
+
successCriteria: string[];
|
|
24
|
+
proofSummary: string;
|
|
25
|
+
proofCommands: string[];
|
|
26
|
+
resume: StartMissionResume;
|
|
27
|
+
handoff: StartMissionHandoff;
|
|
28
|
+
executionPlan: StartExecutionPlan;
|
|
29
|
+
runbook: StartMissionRunbook;
|
|
30
|
+
reviewGate: StartMissionReviewGate;
|
|
31
|
+
taskCard: StartMissionTaskCard;
|
|
32
|
+
outcome?: MissionOutcome;
|
|
33
|
+
handoffPrompt: string;
|
|
34
|
+
}
|
|
35
|
+
export interface StartReport {
|
|
36
|
+
schemaVersion: 1;
|
|
37
|
+
readOnly: true;
|
|
38
|
+
rootPath: string;
|
|
39
|
+
mode: WorkplanMode;
|
|
40
|
+
modeSource: StartModeSource;
|
|
41
|
+
modeReason: string;
|
|
42
|
+
summary: string;
|
|
43
|
+
setup: {
|
|
44
|
+
overall: 'pass' | 'warn' | 'fail' | 'info';
|
|
45
|
+
diagnostics: Array<{
|
|
46
|
+
id: string;
|
|
47
|
+
label: string;
|
|
48
|
+
status: 'pass' | 'warn' | 'fail' | 'info';
|
|
49
|
+
summary: string;
|
|
50
|
+
detail?: string;
|
|
51
|
+
command?: string;
|
|
52
|
+
}>;
|
|
53
|
+
};
|
|
54
|
+
recommendedWorkflow: StartWorkflowRecommendation;
|
|
55
|
+
dailyWorkflows?: StartDailyWorkflow[];
|
|
56
|
+
firstTenMinutes: StartFirstTenMinutes;
|
|
57
|
+
missionControl: StartMissionControl;
|
|
58
|
+
coordinationHints: SessionCoordinationHint[];
|
|
59
|
+
evidence: {
|
|
60
|
+
workplanVerdict: PreflightVerdict;
|
|
61
|
+
workplanSummary: string;
|
|
62
|
+
qualityVerdict: QualityScorecardVerdict;
|
|
63
|
+
qualitySummary: string;
|
|
64
|
+
healthScore: number;
|
|
65
|
+
mcpReady: boolean;
|
|
66
|
+
riskSources: {
|
|
67
|
+
currentWorktree: {
|
|
68
|
+
kind: 'current-worktree';
|
|
69
|
+
available: boolean;
|
|
70
|
+
count: number;
|
|
71
|
+
files: string[];
|
|
72
|
+
baseRef: string | null;
|
|
73
|
+
reason?: string;
|
|
74
|
+
};
|
|
75
|
+
sessionMemory: {
|
|
76
|
+
kind: 'remembered-session';
|
|
77
|
+
touchedFiles: string[];
|
|
78
|
+
totalTouchedFiles: number;
|
|
79
|
+
note: string;
|
|
80
|
+
truncated?: boolean;
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
roadmapPreview?: StartRoadmapPreview;
|
|
84
|
+
};
|
|
85
|
+
topRisks: StartRisk[];
|
|
86
|
+
fixFirst?: FixFirstRecommendation;
|
|
87
|
+
adoptionGaps: StartAdoptionGap[];
|
|
88
|
+
adoptionLoop?: StartAdoptionLoop;
|
|
89
|
+
nextActions: PreflightSuggestedAction[];
|
|
90
|
+
handoff?: WorkplanHandoffPayload;
|
|
91
|
+
truncated?: boolean;
|
|
92
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startMissionControl.js","sourceRoot":"","sources":["../../src/types/startMissionControl.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { PreflightSuggestedAction } from './preflight.js';
|
|
2
|
+
export type MissionRunStatus = 'not_run' | 'running' | 'passed' | 'failed' | 'unknown';
|
|
3
|
+
export interface MissionProofStatusRow {
|
|
4
|
+
id: string;
|
|
5
|
+
label?: string;
|
|
6
|
+
log?: string;
|
|
7
|
+
command?: string;
|
|
8
|
+
exitCode?: number;
|
|
9
|
+
}
|
|
10
|
+
export interface MissionReviewDecisionRecord {
|
|
11
|
+
decision: 'approve_next_slice' | 'request_changes' | 'review_version_candidate' | string;
|
|
12
|
+
reviewer?: string;
|
|
13
|
+
at?: string;
|
|
14
|
+
note?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface MissionOutcome {
|
|
17
|
+
schemaVersion: 1;
|
|
18
|
+
available: boolean;
|
|
19
|
+
missionDir: string;
|
|
20
|
+
status: MissionRunStatus;
|
|
21
|
+
reason?: string;
|
|
22
|
+
nextAction?: string;
|
|
23
|
+
proof: {
|
|
24
|
+
completedCommands: number;
|
|
25
|
+
failedCommands: number;
|
|
26
|
+
reruns: number;
|
|
27
|
+
totalCommands?: number;
|
|
28
|
+
failedStep?: string;
|
|
29
|
+
failedLog?: string;
|
|
30
|
+
exitCode?: number;
|
|
31
|
+
rows: MissionProofStatusRow[];
|
|
32
|
+
};
|
|
33
|
+
review: {
|
|
34
|
+
decisions: MissionReviewDecisionRecord[];
|
|
35
|
+
approvals: number;
|
|
36
|
+
changeRequests: number;
|
|
37
|
+
versionCandidateReviews: number;
|
|
38
|
+
};
|
|
39
|
+
whatChanged: string[];
|
|
40
|
+
whatRemains: string[];
|
|
41
|
+
versionCandidate: {
|
|
42
|
+
recommendation: 'run_proof' | 'wait' | 'review_candidate' | 'do_not_cut';
|
|
43
|
+
summary: string;
|
|
44
|
+
};
|
|
45
|
+
resumePrompt: string;
|
|
46
|
+
}
|
|
47
|
+
export interface MissionProofBaselineRun {
|
|
48
|
+
id: string;
|
|
49
|
+
status: MissionRunStatus;
|
|
50
|
+
failedGates?: number;
|
|
51
|
+
reruns?: number;
|
|
52
|
+
minutesSpent?: number;
|
|
53
|
+
reviewerApprovals?: number;
|
|
54
|
+
}
|
|
55
|
+
export interface MissionProofTotals {
|
|
56
|
+
missions: number;
|
|
57
|
+
passed: number;
|
|
58
|
+
failed: number;
|
|
59
|
+
running: number;
|
|
60
|
+
notRun: number;
|
|
61
|
+
unavailable: number;
|
|
62
|
+
proofCompletionRate: number;
|
|
63
|
+
reruns: number;
|
|
64
|
+
failedGates: number;
|
|
65
|
+
reviewerApprovals: number;
|
|
66
|
+
}
|
|
67
|
+
export interface MissionProofReport {
|
|
68
|
+
schemaVersion: 1;
|
|
69
|
+
readOnly: true;
|
|
70
|
+
rootPath: string;
|
|
71
|
+
summary: string;
|
|
72
|
+
missionControl: {
|
|
73
|
+
missions: MissionOutcome[];
|
|
74
|
+
totals: MissionProofTotals;
|
|
75
|
+
};
|
|
76
|
+
baseline?: {
|
|
77
|
+
path: string;
|
|
78
|
+
runs: MissionProofBaselineRun[];
|
|
79
|
+
totals: MissionProofTotals & {
|
|
80
|
+
minutesSpent: number;
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
comparison?: {
|
|
84
|
+
completionRateDelta: number;
|
|
85
|
+
rerunsAvoided: number;
|
|
86
|
+
failedGatesAvoided: number;
|
|
87
|
+
minutesSaved: number;
|
|
88
|
+
};
|
|
89
|
+
riskAvoided: string[];
|
|
90
|
+
nextActions: PreflightSuggestedAction[];
|
|
91
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startMissionProof.js","sourceRoot":"","sources":["../../src/types/startMissionProof.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import type { PreflightSuggestedAction } from './preflight.js';
|
|
2
|
+
import type { StartMissionControlStatus, StartUnresolvedInput } from './startCommon.js';
|
|
3
|
+
import type { StartExecutionCursor, StartExecutionPhaseId, StartExecutionStatus, StartExecutionStepKind } from './startExecution.js';
|
|
4
|
+
import type { StartMissionReviewGate } from './startMissionReview.js';
|
|
5
|
+
import type { StartMissionProofItem, StartMissionProofToolCall, StartMissionToolCall } from './startMissionTooling.js';
|
|
6
|
+
export interface StartMissionResumeReference {
|
|
7
|
+
id: string;
|
|
8
|
+
phaseId: StartExecutionPhaseId;
|
|
9
|
+
kind: StartExecutionStepKind;
|
|
10
|
+
status: StartExecutionStatus;
|
|
11
|
+
label: string;
|
|
12
|
+
instruction?: string;
|
|
13
|
+
command?: string;
|
|
14
|
+
placeholder?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface StartMissionInputBinding {
|
|
17
|
+
inputId: string;
|
|
18
|
+
label: string;
|
|
19
|
+
placeholder: string;
|
|
20
|
+
instruction: string;
|
|
21
|
+
followUpIds: string[];
|
|
22
|
+
}
|
|
23
|
+
export type StartMissionResumeChecklistItemKind = 'run_current' | 'resolve_input' | 'run_follow_up' | 'run_proof' | 'confirm_done';
|
|
24
|
+
export interface StartMissionResumeChecklistItem {
|
|
25
|
+
id: string;
|
|
26
|
+
kind: StartMissionResumeChecklistItemKind;
|
|
27
|
+
phaseId: StartExecutionPhaseId;
|
|
28
|
+
stepId: string;
|
|
29
|
+
status: StartExecutionStatus;
|
|
30
|
+
label: string;
|
|
31
|
+
command?: string;
|
|
32
|
+
tool?: string;
|
|
33
|
+
args?: Record<string, unknown>;
|
|
34
|
+
placeholder?: string;
|
|
35
|
+
instruction?: string;
|
|
36
|
+
blockedBy?: string[];
|
|
37
|
+
dependsOn?: string[];
|
|
38
|
+
unlocks?: string[];
|
|
39
|
+
followUpIds?: string[];
|
|
40
|
+
}
|
|
41
|
+
export interface StartMissionResumeFollowUp {
|
|
42
|
+
id: string;
|
|
43
|
+
phaseId: StartExecutionPhaseId;
|
|
44
|
+
kind: StartExecutionStepKind;
|
|
45
|
+
status: StartExecutionStatus;
|
|
46
|
+
label: string;
|
|
47
|
+
command?: string;
|
|
48
|
+
tool?: string;
|
|
49
|
+
args?: Record<string, unknown>;
|
|
50
|
+
blockedBy?: string[];
|
|
51
|
+
dependsOn?: string[];
|
|
52
|
+
}
|
|
53
|
+
export interface StartMissionResume {
|
|
54
|
+
currentStep: StartExecutionCursor;
|
|
55
|
+
status: StartExecutionStatus;
|
|
56
|
+
instruction: string;
|
|
57
|
+
prompt: string;
|
|
58
|
+
commandBlock?: string;
|
|
59
|
+
toolCall?: StartMissionToolCall;
|
|
60
|
+
followUps?: StartMissionResumeFollowUp[];
|
|
61
|
+
inputBindings?: StartMissionInputBinding[];
|
|
62
|
+
checklist?: StartMissionResumeChecklistItem[];
|
|
63
|
+
remainingProofItems?: StartMissionProofItem[];
|
|
64
|
+
remainingProofCommands?: string[];
|
|
65
|
+
remainingProofToolCalls?: StartMissionProofToolCall[];
|
|
66
|
+
unlocks?: StartMissionResumeReference[];
|
|
67
|
+
blockedBy?: StartMissionResumeReference[];
|
|
68
|
+
}
|
|
69
|
+
export interface StartMissionHandoff {
|
|
70
|
+
currentStep: StartExecutionCursor;
|
|
71
|
+
resume: StartMissionResume;
|
|
72
|
+
reviewGate: StartMissionReviewGate;
|
|
73
|
+
nextAction: PreflightSuggestedAction;
|
|
74
|
+
readyActions: PreflightSuggestedAction[];
|
|
75
|
+
needsInput: StartUnresolvedInput[];
|
|
76
|
+
doneWhen: string[];
|
|
77
|
+
readyProof: {
|
|
78
|
+
summary: string;
|
|
79
|
+
commands: string[];
|
|
80
|
+
toolCalls?: StartMissionProofToolCall[];
|
|
81
|
+
items?: StartMissionProofItem[];
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
export interface StartMissionRunbook {
|
|
85
|
+
title: string;
|
|
86
|
+
status: StartMissionControlStatus;
|
|
87
|
+
currentPhase: StartExecutionPhaseId;
|
|
88
|
+
currentStep: StartExecutionCursor;
|
|
89
|
+
resume: StartMissionResume;
|
|
90
|
+
readyCommandBlock: string;
|
|
91
|
+
blockedInputSummary?: string;
|
|
92
|
+
markdown: string;
|
|
93
|
+
}
|
|
94
|
+
export interface StartMissionTaskCard {
|
|
95
|
+
title: string;
|
|
96
|
+
status: StartMissionControlStatus;
|
|
97
|
+
currentPhase: StartExecutionPhaseId;
|
|
98
|
+
currentStep: StartExecutionCursor;
|
|
99
|
+
markdown: string;
|
|
100
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startMissionResume.js","sourceRoot":"","sources":["../../src/types/startMissionResume.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { StartMissionControlStatus } from './startCommon.js';
|
|
2
|
+
import type { StartMissionProofItem, StartMissionProofToolCall } from './startMissionTooling.js';
|
|
3
|
+
export interface StartMissionReviewWorktree {
|
|
4
|
+
available: boolean;
|
|
5
|
+
clean: boolean;
|
|
6
|
+
changedFileCount: number;
|
|
7
|
+
files: string[];
|
|
8
|
+
baseRef: string | null;
|
|
9
|
+
summary: string;
|
|
10
|
+
reason?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface StartMissionReviewProof {
|
|
13
|
+
summary: string;
|
|
14
|
+
commands: string[];
|
|
15
|
+
toolCalls?: StartMissionProofToolCall[];
|
|
16
|
+
items?: StartMissionProofItem[];
|
|
17
|
+
}
|
|
18
|
+
export type StartMissionReviewBlockedAction = 'next_slice' | 'release' | 'publish' | 'deploy' | 'push' | 'merge' | 'version_bump';
|
|
19
|
+
export interface StartMissionReviewPolicy {
|
|
20
|
+
approvalRequired: true;
|
|
21
|
+
blockedActions: StartMissionReviewBlockedAction[];
|
|
22
|
+
summary: string;
|
|
23
|
+
}
|
|
24
|
+
export interface StartMissionReviewDecision {
|
|
25
|
+
id: 'approve_next_slice' | 'request_changes' | 'review_version_candidate';
|
|
26
|
+
label: string;
|
|
27
|
+
description: string;
|
|
28
|
+
consequence: string;
|
|
29
|
+
reply: string;
|
|
30
|
+
}
|
|
31
|
+
export interface StartMissionReviewGate {
|
|
32
|
+
title: string;
|
|
33
|
+
required: true;
|
|
34
|
+
status: StartMissionControlStatus;
|
|
35
|
+
stopCondition: string;
|
|
36
|
+
reviewPrompt: string;
|
|
37
|
+
checklist: string[];
|
|
38
|
+
doneWhen: string[];
|
|
39
|
+
policy: StartMissionReviewPolicy;
|
|
40
|
+
decisions: StartMissionReviewDecision[];
|
|
41
|
+
commands: string[];
|
|
42
|
+
worktree: StartMissionReviewWorktree;
|
|
43
|
+
proof: StartMissionReviewProof;
|
|
44
|
+
markdown: string;
|
|
45
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startMissionReview.js","sourceRoot":"","sources":["../../src/types/startMissionReview.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { StartExecutionStatus } from './startExecution.js';
|
|
2
|
+
export interface StartMissionToolCall {
|
|
3
|
+
tool: string;
|
|
4
|
+
args?: Record<string, unknown>;
|
|
5
|
+
}
|
|
6
|
+
export interface StartMissionProofToolCall extends StartMissionToolCall {
|
|
7
|
+
stepId: string;
|
|
8
|
+
command: string;
|
|
9
|
+
}
|
|
10
|
+
export interface StartMissionProofItem {
|
|
11
|
+
stepId: string;
|
|
12
|
+
status: StartExecutionStatus;
|
|
13
|
+
label: string;
|
|
14
|
+
command: string;
|
|
15
|
+
toolCall?: StartMissionToolCall;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startMissionTooling.js","sourceRoot":"","sources":["../../src/types/startMissionTooling.ts"],"names":[],"mappings":""}
|
|
@@ -18,6 +18,7 @@ export async function getChangedFiles(rootPath, explicitBaseRef) {
|
|
|
18
18
|
reason: 'not a git repository',
|
|
19
19
|
baseRef: null,
|
|
20
20
|
files: [],
|
|
21
|
+
uncommittedFiles: [],
|
|
21
22
|
};
|
|
22
23
|
}
|
|
23
24
|
const candidates = explicitBaseRef ? [explicitBaseRef] : [...DEFAULT_BASE_REFS, 'HEAD~1'];
|
|
@@ -29,8 +30,8 @@ export async function getChangedFiles(rootPath, explicitBaseRef) {
|
|
|
29
30
|
continue;
|
|
30
31
|
}
|
|
31
32
|
try {
|
|
32
|
-
const files = await diffNames(rootPath, ref);
|
|
33
|
-
return { available: true, baseRef: ref, files };
|
|
33
|
+
const { files, uncommittedFiles } = await diffNames(rootPath, ref);
|
|
34
|
+
return { available: true, baseRef: ref, files, uncommittedFiles };
|
|
34
35
|
}
|
|
35
36
|
catch (err) {
|
|
36
37
|
// 1.10+ — surface stdio-too-large explicitly instead of letting it
|
|
@@ -46,6 +47,7 @@ export async function getChangedFiles(rootPath, explicitBaseRef) {
|
|
|
46
47
|
'(typically > 100K files changed). Use --base-ref to pin a closer ref.',
|
|
47
48
|
baseRef: null,
|
|
48
49
|
files: [],
|
|
50
|
+
uncommittedFiles: [],
|
|
49
51
|
};
|
|
50
52
|
}
|
|
51
53
|
lastError = err instanceof Error ? err.message : String(err);
|
|
@@ -55,7 +57,7 @@ export async function getChangedFiles(rootPath, explicitBaseRef) {
|
|
|
55
57
|
try {
|
|
56
58
|
const files = await statusNames(rootPath);
|
|
57
59
|
if (files.length > 0) {
|
|
58
|
-
return { available: true, baseRef: '(working tree)', files };
|
|
60
|
+
return { available: true, baseRef: '(working tree)', files, uncommittedFiles: files };
|
|
59
61
|
}
|
|
60
62
|
}
|
|
61
63
|
catch (err) {
|
|
@@ -66,6 +68,7 @@ export async function getChangedFiles(rootPath, explicitBaseRef) {
|
|
|
66
68
|
reason: lastError ?? 'no usable base ref found',
|
|
67
69
|
baseRef: null,
|
|
68
70
|
files: [],
|
|
71
|
+
uncommittedFiles: [],
|
|
69
72
|
};
|
|
70
73
|
}
|
|
71
74
|
async function isGitRepo(rootPath) {
|
|
@@ -104,7 +107,7 @@ async function diffNames(rootPath, baseRef) {
|
|
|
104
107
|
}
|
|
105
108
|
for (const f of uncommitted)
|
|
106
109
|
set.add(f);
|
|
107
|
-
return [...set].sort();
|
|
110
|
+
return { files: [...set].sort(), uncommittedFiles: uncommitted };
|
|
108
111
|
}
|
|
109
112
|
async function statusNames(rootPath) {
|
|
110
113
|
const { stdout } = await execFileAsync('git', ['status', '--porcelain', '--untracked-files=all'], { cwd: rootPath, maxBuffer: 10 * 1024 * 1024 });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changedFiles.js","sourceRoot":"","sources":["../../src/utils/changedFiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,iBAAiB,GAAG,CAAC,aAAa,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"changedFiles.js","sourceRoot":"","sources":["../../src/utils/changedFiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,iBAAiB,GAAG,CAAC,aAAa,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAU7E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,eAAwB;IAExB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,sBAAsB;YAC9B,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,EAAE;YACT,gBAAgB,EAAE,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IAC1F,IAAI,SAAS,GAAkB,IAAI,CAAC;IAEpC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,SAAS,GAAG,kBAAkB,GAAG,EAAE,CAAC;YACpC,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACnE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;QACpE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mEAAmE;YACnE,iEAAiE;YACjE,iEAAiE;YACjE,gEAAgE;YAChE,kEAAkE;YAClE,+BAA+B;YAC/B,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO;oBACL,SAAS,EAAE,KAAK;oBAChB,MAAM,EACJ,qBAAqB,GAAG,oCAAoC;wBAC5D,uEAAuE;oBACzE,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,EAAE;oBACT,gBAAgB,EAAE,EAAE;iBACrB,CAAC;YACJ,CAAC;YACD,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QACxF,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO;QACL,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,SAAS,IAAI,0BAA0B;QAC/C,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,EAAE;QACT,gBAAgB,EAAE,EAAE;KACrB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,QAAgB;IACvC,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,GAAW;IACpD,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,QAAgB,EAChB,OAAe;IAEf,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,KAAK,EACL,CAAC,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,OAAO,SAAS,CAAC,EAC/D,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,CAC/C,CAAC;IAEF,kFAAkF;IAClF,IAAI,WAAW,GAAa,EAAE,CAAC;IAC/B,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,IAAI;YAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,WAAW;QAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAExC,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,QAAgB;IACzC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,KAAK,EACL,CAAC,QAAQ,EAAE,aAAa,EAAE,uBAAuB,CAAC,EAClD,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,CAC/C,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;YAAE,SAAS;QAC1B,kEAAkE;QAClE,0EAA0E;QAC1E,oEAAoE;QACpE,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvD,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC5C,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAG;YACpC,CAAC,CAAC,aAAa,CAAC;QAClB,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,CAAS;IAC9B,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAY;IACpC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,CAAC,GAAG,GAA4C,CAAC;IACvD,IAAI,CAAC,CAAC,IAAI,KAAK,mCAAmC;QAAE,OAAO,IAAI,CAAC;IAChE,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/F,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -2,6 +2,7 @@ import type { FileEntry } from '../types.js';
|
|
|
2
2
|
export interface WalkOptions {
|
|
3
3
|
ignore?: string[];
|
|
4
4
|
extensions?: string[];
|
|
5
|
+
paths?: string[];
|
|
5
6
|
}
|
|
6
7
|
export declare function walkFiles(rootPath: string, options?: WalkOptions): Promise<FileEntry[]>;
|
|
7
8
|
export declare function getDefaultIgnorePatterns(): string[];
|
package/dist/utils/fileWalker.js
CHANGED
|
@@ -33,7 +33,12 @@ const DEFAULT_IGNORE = [
|
|
|
33
33
|
export async function walkFiles(rootPath, options) {
|
|
34
34
|
const ignore = options?.ignore ?? DEFAULT_IGNORE;
|
|
35
35
|
let pattern = '**/*';
|
|
36
|
-
if (options?.
|
|
36
|
+
if (options?.paths) {
|
|
37
|
+
if (options.paths.length === 0)
|
|
38
|
+
return [];
|
|
39
|
+
pattern = options.paths.map((filePath) => fg.escapePath(filePath));
|
|
40
|
+
}
|
|
41
|
+
else if (options?.extensions?.length) {
|
|
37
42
|
const exts = options.extensions.map((e) => e.replace(/^\./, ''));
|
|
38
43
|
pattern = exts.length === 1 ? `**/*.${exts[0]}` : `**/*.{${exts.join(',')}}`;
|
|
39
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileWalker.js","sourceRoot":"","sources":["../../src/utils/fileWalker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"fileWalker.js","sourceRoot":"","sources":["../../src/utils/fileWalker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,IAAI,MAAM,WAAW,CAAC;AAS7B,MAAM,cAAc,GAAG;IACrB,oBAAoB;IACpB,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,gBAAgB;IAChB,aAAa;IACb,aAAa;IACb,cAAc;IACd,uBAAuB;IACvB,wBAAwB;IACxB,cAAc;IACd,eAAe;IACf,cAAc;IACd,cAAc;IACd,kEAAkE;IAClE,oEAAoE;IACpE,mCAAmC;IACnC,YAAY;IACZ,aAAa;IACb,WAAW;IACX,cAAc;IACd,mBAAmB;IACnB,YAAY;IACZ,qBAAqB;IACrB,mBAAmB;IACnB,mBAAmB;IACnB,aAAa;IACb,kBAAkB;CACnB,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,OAAqB;IACrE,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,cAAc,CAAC;IAEjD,IAAI,OAAO,GAAsB,MAAM,CAAC;IACxC,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC1C,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrE,CAAC;SAAM,IAAI,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QACjE,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAC/E,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,EAAE;QAChC,GAAG,EAAE,QAAQ;QACb,QAAQ,EAAE,KAAK;QACf,GAAG,EAAE,IAAI;QACT,MAAM;QACN,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI;QACf,mBAAmB,EAAE,KAAK;KAC3B,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,MAAM,YAAY,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QACpE,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QAElE,OAAO;YACL,YAAY;YACZ,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC;YAClD,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE;YACnD,SAAS,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC;YAC3B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;SACtC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC;AAC7B,CAAC"}
|