import type { CapabilityAdapterBinding, CapabilityUnsupportedTarget, CompileTarget, EvidenceRecord, FrontierLangDocument, FrontierUniversalAstEnvelope, FrontierSourceLanguage, LanguageImportResult, NativeAstLossRecord, NativeAstNode, NativeAstRecord, NativeSourceNode, SemanticMergeCandidateRecord, SemanticMergeReadiness, SemanticIndexRecord, SemanticNode, SemanticPatchBundle, SourceMapMappingRecord, SourceMapRecord, SourcePreservationLevel, SourcePreservationRecord, SourceSpan, UniversalAstLayerMap, UniversalAstLayerRecord } from '@shapeshift-labs/frontier-lang-kernel'; import type { Diagnostic } from '@shapeshift-labs/frontier-lang-checker'; import type { EmitTypeScriptOptions, TypeScriptAstModule, TypeScriptDocumentSourceMapResult, TypeScriptGeneratedSourceMapResult } from '@shapeshift-labs/frontier-lang-typescript'; import type { EmitJavaScriptOptions, EmitJavaScriptWithSourceMapResult, JavaScriptAstModule, JavaScriptSourceMapResult } from '@shapeshift-labs/frontier-lang-javascript'; import type { EmitRustOptions, EmitRustWithSourceMapResult, RustAstModule, RustSourceMapResult } from '@shapeshift-labs/frontier-lang-rust'; import type { EmitPythonOptions, EmitPythonWithSourceMapResult, PythonAstModule, PythonSourceMapResult } from '@shapeshift-labs/frontier-lang-python'; import type { CAstHeader, CSourceMapResult, EmitCHeaderOptions, EmitCHeaderWithSourceMapResult } from '@shapeshift-labs/frontier-lang-c'; import type { FrontierCompileTarget, FrontierCompileEmitOptions, FrontierTargetAst, FrontierTargetSourceMapResult, FrontierTargetDocumentSourceMapResult, FrontierCompileOptions, FrontierCompileResult, CapabilityResolution } from './compile.js'; import type { NativeImportTaxonomyKind, NativeImportKnownLossKind, NativeImportRegionTaxonomyKind, NativeImportLossSummaryOptions, NativeImportFeatureEvidenceRisk, NativeImportFeatureEvidencePolicy, NativeImportFeatureEvidenceIssue, NativeImportFeatureEvidenceSummary, NativeImportLossSummary, NativeImportReadinessClassification, NativeImportLanguageProfile } from './native-import-losses.js'; import type { NativeParserAstFormatKind, NativeParserAstFormatProfile, NativeParserAstFormatCoverage, NativeParserAstFormatMatrix, NativeParserAstFormatMatrixOptions } from './native-parser-formats.js'; import type { NativeParserFeatureCategory, NativeParserFeatureCoverageStatus, NativeParserFeatureCoverage, NativeParserFeatureCoverageMap, NativeParserFeatureMergeAssessment, NativeParserFeatureParserRow, NativeParserFeatureLanguageSummary, NativeParserFeatureMatrix, NativeParserFeatureMatrixOptions, NativeParserFeatureMatrixQuery, NativeParserFeatureMatrixQueryResult, NativeImporterAdapterCoverageAggregate } from './native-parser-features.js'; import type { NativeImportCoverageLanguage, NativeImportCoverageMatrix, NativeImportCoverageMatrixOptions } from './native-import-coverage.js'; import type { ProjectionTargetLossClass, ProjectionSourceProjectionCoverage, ProjectionTargetCoverageEntry, ProjectionTargetLanguageCoverage, ProjectionTargetLossMatrix, ProjectionTargetLossMatrixOptions } from './projection-coverage.js'; import type { ProjectionReadinessMatrix } from './projection-readiness.js'; import type { NativeImportContractSource, NativeImportSourcePreservationRecordSummary, NativeImportSourcePreservationContract, NativeImportAdapterCoverageRecordSummary, NativeImportAdapterCoverageContract, NativeImportRegionSummary, NativeImportSourceMapSummary, NativeImportReadinessContract, NativeImportResultContract, NativeImportResultContractOptions } from './native-import-contracts.js'; import type { NativeSourceTokenKind, NativeSourcePreservedToken, NativeSourcePreservedDirective, NativeSourcePreservation, CreateNativeSourcePreservationOptions } from './source-preservation.js'; import type { SemanticImportOwnershipRegion, SemanticImportSidecarSymbol, SemanticImportRegionTaxonomySummary, SemanticImportPatchHint, SemanticImportSidecarImportEntry, SemanticImportSidecarSourcePreservationRecord, SemanticImportSidecarUniversalAstLayerSummary, SemanticImportSidecarProofSpecSummary, SemanticImportSidecarParadigmSemanticsSummary, SemanticImportSidecar, SemanticImportSidecarOptions } from './semantic-sidecar.js'; import type { NativeSourceChangeKind, NativeSourceChangeProjectionEndpoint, NativeSourceChangeProjectionSourceMapLink, NativeSourceChangeProjectionMetadata, NativeSourceChangeProjectionSummary, NativeSourceChangeSymbol, NativeSourceChangeRegion, NativeSourceChangeSummary, DiffNativeSourceImportsOptions, DiffNativeSourcesOptions, NativeSourceChangeSet } from './native-diff.js'; import type { SemanticSliceInput, CreateSemanticSliceOptions, SemanticSliceSourceMapLink, SemanticSliceSourceFile, SemanticSliceExpectedAssertion, SemanticSlice, TestSemanticSliceOptions, SemanticSliceTestAssertion, SemanticSliceTestResult } from './semantic-slice.js'; import type { NativeImporterAdapterExactness, NativeImporterAdapterSemanticCoverage, NativeImporterAdapterCoverageSnapshot, NativeImporterAdapterCoverageObserved, NativeImporterAdapterCoverageCapabilityRow, NativeImporterAdapterCoverageCapabilityEvidence, NativeImporterAdapterCoverageSummary, NativeImporterAdapterCoverageInput } from './adapter-coverage.js'; import type { NativeImporterAdapterDiagnostic, ImportNativeSourceOptions, NativeSourceImportResult, ExternalSemanticIndexFormat, ImportExternalSemanticIndexOptions, ExternalSemanticIndexImportSummary, ExternalSemanticIndexImportResult, NativeImporterAdapterParseInput, NativeImporterAdapterParseResult, NativeImporterAdapter, NativeImporterAdapterSummary, RunNativeImporterAdapterOptions, NativeImporterAdapterImportResult } from './import-adapter-core.js'; import type { JavaScriptNativeImporterAdapterOptions, TypeScriptCompilerNativeImporterAdapterOptions, PythonAstNativeImporterAdapterOptions, RustSynNativeImporterAdapterOptions, ClangAstNativeImporterAdapterOptions, GoAstNativeImporterAdapterOptions } from './import-adapter-options-native.js'; import type { JavaAstNativeImporterAdapterOptions, KotlinPsiNativeImporterAdapterOptions, CSharpRoslynNativeImporterAdapterOptions, SwiftSyntaxNativeImporterAdapterOptions, TreeSitterNativeImporterAdapterOptions } from './import-adapter-options-platform.js'; import type { NativeTargetProjectionAdapterCoverageInput, NativeTargetProjectionAdapterSummary, NativeTargetProjectionAdapterInput, NativeTargetProjectionAdapterResult, NativeTargetProjectionAdapter, NativeTargetProjectionAdapterResolverInput, NativeTargetProjectionResult } from './target-adapters.js'; import type { NativeProjectSourceInput, ImportNativeProjectOptions, NativeProjectImportResult, NativeSourceProjectionMode, ProjectNativeImportToSourceOptions, NativeSourceProjectionDeclaration, NativeSourceProjectionResult, NativeSourceCompileOutputMode, CompileNativeSourceOptions, NativeSourceCompileResult } from './native-project.js'; import type { NativeImportRoundtripReadinessStatus, NativeImportRoundtripReadinessOptions, NativeImportRoundtripReadinessClassification } from './roundtrip.js'; import type { UniversalRepresentationCoverage } from './universal-representation-coverage.js'; import type { LanguageAdapterPackageContract } from './language-adapter-package-contracts.js'; export interface UniversalCapabilityPackageContractCoverage { readonly total: number; readonly readiness: SemanticMergeReadiness; readonly missingContract: boolean; readonly releaseReady: boolean; readonly releaseReadyCount: number; readonly plannedOnly: boolean; readonly packageNames: readonly string[]; readonly packageVersions: readonly string[]; readonly packageClasses: readonly string[]; readonly byPackageClass: Readonly>; readonly byReleaseReadiness: Readonly>; readonly sourceParsers: readonly string[]; readonly sourceFormats: readonly string[]; readonly semanticIndexFormats: readonly string[]; readonly requiredEvidenceKeys: readonly string[]; readonly hostEvidenceRequired: boolean; readonly sourceImporterOnly: boolean; readonly targetProjection: { readonly supported: boolean; readonly packages: readonly string[]; readonly targets: readonly string[]; readonly missing: boolean; }; } export interface UniversalCapabilityLanguageRow { readonly language: FrontierSourceLanguage | string; readonly aliases: readonly string[]; readonly extensions: readonly string[]; readonly readiness: SemanticMergeReadiness; readonly imports: { readonly total: number; readonly readiness: SemanticMergeReadiness; readonly symbols: number; readonly sourceMaps: number; readonly sourceMapMappings: number; readonly losses: number; readonly lossKinds: Readonly>; readonly readinessReasons: readonly string[]; }; readonly parser: { readonly readiness: SemanticMergeReadiness; readonly rows: number; readonly parsers: readonly string[]; readonly mergeReadyParsers: readonly string[]; readonly blockingFeatures: readonly NativeParserFeatureCategory[]; readonly reviewFeatures: readonly NativeParserFeatureCategory[]; readonly languageSummary?: NativeParserFeatureLanguageSummary; }; readonly projection: { readonly readiness: SemanticMergeReadiness; readonly sourceProjection?: ProjectionTargetLanguageCoverage['sourceProjection']; readonly targets: readonly ProjectionTargetCoverageEntry[]; readonly summary: ProjectionTargetLanguageCoverage['summary']; readonly missingTargets: readonly (FrontierCompileTarget | string)[]; readonly unsupportedTargets: readonly (FrontierCompileTarget | string)[]; }; readonly packageContract: UniversalCapabilityPackageContractCoverage; readonly evidence: { readonly parserAdapters: number; readonly adapterCoverageSummaries: number; readonly adapterCoverageGaps: Readonly>; readonly knownLossKinds: readonly NativeImportKnownLossKind[]; readonly sourceMapMappings: number; }; readonly representation: UniversalRepresentationCoverage; readonly blockers: readonly string[]; readonly review: readonly string[]; } export interface UniversalCapabilityMatrix { readonly kind: 'frontier.lang.universalCapabilityMatrix'; readonly version: 1; readonly generatedAt: number; readonly languages: readonly UniversalCapabilityLanguageRow[]; readonly summary: { readonly languages: number; readonly imports: number; readonly symbols: number; readonly sourceMapMappings: number; readonly losses: number; readonly parserRows: number; readonly parserMergeReady: number; readonly targetEntries: number; readonly missingAdapters: number; readonly unsupportedTargetFeatures: number; readonly exactSourceProjection: number; readonly nativeSourceStubs: number; readonly representationConstructs: number; readonly representationMissing: number; readonly packageContractRows: number; readonly packageContracts: number; readonly packageReleaseReady: number; readonly packagePlannedOnly: number; readonly packageMissingContracts: number; readonly packageSourceImporterOnly: number; readonly packageTargetProjectionSupported: number; readonly blockers: number; readonly reviewReasons: number; readonly readyLanguages: number; readonly readyWithLossesLanguages: number; readonly reviewLanguages: number; readonly blockedLanguages: number; readonly byReadiness: Readonly>; readonly byImportReadiness: Readonly>; readonly byParserReadiness: Readonly>; readonly byProjectionReadiness: Readonly>; readonly byPackageClass: Readonly>; readonly byPackageReleaseReadiness: Readonly>; }; readonly matrices: { readonly importCoverage: NativeImportCoverageMatrix; readonly parserFormats: NativeParserAstFormatMatrix; readonly parserFeatures: NativeParserFeatureMatrix; readonly projectionTargets: ProjectionTargetLossMatrix; readonly projectionReadiness: ProjectionReadinessMatrix; readonly packageContracts: { readonly kind: 'frontier.lang.universalCapabilityPackageContractMatrix'; readonly version: 1; readonly packages: number; readonly releaseReady: number; readonly plannedOnly: number; readonly languages: readonly string[]; readonly projectionTargets: readonly string[]; readonly byPackageClass: Readonly>; readonly byReleaseReadiness: Readonly>; }; }; readonly metadata: { readonly requiredFeatures: readonly NativeParserFeatureCategory[]; readonly minimumReadiness: SemanticMergeReadiness; readonly compileTargets: readonly (FrontierCompileTarget | string)[]; readonly languageDenominator: readonly string[]; readonly note: string; }; } export interface UniversalCapabilityMatrixOptions extends NativeImportCoverageMatrixOptions, NativeParserAstFormatMatrixOptions, NativeParserFeatureMatrixOptions, ProjectionTargetLossMatrixOptions { readonly targetAdapters?: readonly NativeTargetProjectionAdapter[]; readonly targets?: readonly (FrontierCompileTarget | string)[]; readonly projectionFeatureCategories?: readonly (NativeParserFeatureCategory | string)[]; readonly packageContracts?: readonly LanguageAdapterPackageContract[]; readonly languageDenominator?: readonly (FrontierSourceLanguage | string)[]; readonly requiredLanguages?: readonly (FrontierSourceLanguage | string)[]; } export interface UniversalCapabilityMatrixQuery { readonly language?: FrontierSourceLanguage | string | readonly string[]; readonly readiness?: SemanticMergeReadiness | string | readonly string[]; readonly importReadiness?: SemanticMergeReadiness | string | readonly string[]; readonly parserReadiness?: SemanticMergeReadiness | string | readonly string[]; readonly projectionReadiness?: SemanticMergeReadiness | string | readonly string[]; readonly parser?: string | readonly string[]; readonly target?: FrontierCompileTarget | string | readonly string[]; readonly targetLossClass?: ProjectionTargetLossClass | string | readonly string[]; readonly targetAdapterId?: string | readonly string[]; readonly missingTarget?: FrontierCompileTarget | string | readonly string[]; readonly unsupportedTarget?: FrontierCompileTarget | string | readonly string[]; readonly packageReadiness?: SemanticMergeReadiness | string | readonly string[]; readonly packageName?: string | readonly string[]; readonly packageClass?: string | readonly string[]; readonly packageReleaseStatus?: string | readonly string[]; readonly packageReleaseReady?: boolean | readonly boolean[]; readonly packagePlannedOnly?: boolean | readonly boolean[]; readonly packageMissingContract?: boolean | readonly boolean[]; readonly packageSourceImporterOnly?: boolean | readonly boolean[]; readonly packageHostEvidenceRequired?: boolean | readonly boolean[]; readonly packageTargetProjectionSupported?: boolean | readonly boolean[]; readonly packageTargetProjectionMissing?: boolean | readonly boolean[]; readonly packageTargetProjectionTarget?: FrontierCompileTarget | string | readonly string[]; readonly requiredEvidenceKey?: string | readonly string[]; readonly blocker?: string | readonly string[]; readonly reviewReason?: string | readonly string[]; } export interface UniversalCapabilityMatrixQuerySummary { readonly rows: number; readonly languages: readonly string[]; readonly ready: number; readonly readyWithLosses: number; readonly needsReview: number; readonly blocked: number; readonly packageReleaseReady: number; readonly packagePlannedOnly: number; readonly packageSourceImporterOnly: number; readonly packageMissingContracts: number; readonly packageTargetProjectionSupported: number; readonly packageTargetProjectionMissing: number; readonly packageNames: readonly string[]; readonly packageClasses: readonly string[]; readonly packageTargetProjectionTargets: readonly string[]; readonly requiredEvidenceKeys: readonly string[]; } export interface UniversalCapabilityMatrixQueryResult { readonly kind: 'frontier.lang.universalCapabilityQuery'; readonly version: 1; readonly found: boolean; readonly rows: readonly UniversalCapabilityLanguageRow[]; readonly bestRow?: UniversalCapabilityLanguageRow; readonly summary: UniversalCapabilityMatrixQuerySummary; readonly reasons: readonly string[]; }